sql >> Database >  >> RDS >> Mysql

Stel een cron-taak in om artikelinformatie bij te werken, afhankelijk van de stemwaarden

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

Dit zou je alle artikelen moeten geven met 0 en de totale stemwaarde. Daarna kunt u ze rij voor rij verwerken en stemmen bijwerken indien nodig.

Toegevoegd:Ik ben geen PHP-programmeur, ik doe meestal PERL, maar ik denk dat het zoiets als dit moet zijn:

<?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. MySQL - Tabel 'my_table' was niet vergrendeld met Lock Tables

  2. Door komma's gescheiden waarden van een kolom in rij splitsen, via Oracle SQL-query

  3. Kan MySQL niet starten in CentOS7

  4. Hoe LocalTime op te slaan in de slaapstand