Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Desenhe vários gráficos com consulta Flot, html, PHP e MySql


Em primeiro lugar, parece um pouco estranho ter user_name2,time2,etc. para a segunda consulta. É realmente assim que está configurado no seu banco de dados?

De qualquer forma, aqui está uma maneira de gerar gráficos de dentro de seus loops 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>');