Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Ustaw zadanie cron, aby zaktualizować informacje o artykule w zależności od wartości głosów

select sum(vt.vote_value), vt.item_name
from Votes vt
join stories st on st.id = vt.item_name
and st.showing = 0
group by vt.item_name

To powinno dać ci wszystkie artykuły z pokazywaniem 0 i całkowitej wartości głosów. Następnie możesz przetwarzać je wiersz po wierszu i w razie potrzeby zaktualizować głosowanie.

Dodano:Nie jestem programistą PHP, głównie robię PERL, ale myślę, że to musi być coś takiego:

<?php 
    $query = "select sum(vt.vote_value) as vote_value, vt.item_name from Votes vt join stories st on st.id = vt.item_name and st.showing = 0 group by vt.item_name";
    $result = mysql_query($query); 
    while($row = mysql_fetch_array($result))
    {
        if($row['vote_value'] > 9) {
            $showing = 1;
        }
        else if($row['vote_value'] < -9) {
            $showing = 2;
        }
        else {
            $showing = 0;
        }
        $query2 = "UPDATE `stories` SET `showing` = $showing WHERE `id` = '".$row['item_name']."'";
        mysql_query($query2); 
    }
?>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL MariaDB – zapytanie przy użyciu tabeli temp

  2. tworzyć jcomponents za pomocą bazy danych

  3. Ciąg znaków ucieczki do użycia w wyszukiwaniu pełnotekstowym MySQL

  4. Dodatkowe pola z SQL MIN() i GROUP BY

  5. Błąd nieprawidłowej architektury Pythona MySQL