Mysql
 sql >> Database >  >> RDS >> Mysql

Disegna più grafici con query Flot, html, PHP e MySql

Prima di tutto sembra un po' strano avere nome_utente2, ora2, ecc. per la seconda domanda. È davvero così che è impostato nel tuo DB?

Ad ogni modo, ecco un modo per generare grafici dall'interno dei tuoi loop PHP.

    echo('<div id="placeholder"></div>');
    echo('<script>');
    while($info = mysql_fetch_array( $data )) 
        { 
            $user = $info['user_name']; //It’s the name of user analyzed at the moment
            /*
            This query extract the first ten more recents values (order by time DESC)
            The data retrieved by the query are used to paint the 1° chart for emails sent by the user
            but I don't know how to do it recursively
            */
            $query = "SELECT user_name,mail_sent,mail_received,time FROM table1 WHERE user_name='$user' ORDER BY time DESC LIMIT 0,10";
            $result = mysql_query($query);
            $dataset1 = new Array();
            while($row = mysql_fetch_assoc($result))
                {
                    $row['time']=$row['time']*1000; //The time is in millisecond I need to multiply for 1000 in order to obtain the seconds
                     //the 'time'  row is the x-axis , the 'mail_send' row is the y-axsis
                    $dataset1[] = array($row['time'],$row['mail_sent']); //It contains the time value and the numbers of email sent from the user
                 }
            echo('$.plot( $(\'<div style="width:600px;height:300px;"></div>\').appendTo(\'#placeholder\'),'.json_encode($dataset1).',options);\n');
        }
    echo('</script>');