2017-09-05 6 views
0

ご挨拶stackoverflow! 私は現在、グラフ、特にGoogleグラフを手に入れて、phpとphpmyadminで作業していますが、通常のクエリと結果セットを使用してデータベースから結果を取得しようとしています(コース名+ piechartの数値)。ループしている間に1行しか得られないので、可能であれば、いくつかのヒントを得るために私のコードを以下に掲載します。GoogleCharts with PHPとmysql

<?php 
    include('../session.php'); 
include("../config.php"); 
    ?> 

<?php 




$sqlMostTakenCourse="SELECT course_title, count(*) 
FROM wp_wpcw_user_courses, wp_wpcw_courses 
WHERE wp_wpcw_user_courses.course_id = wp_wpcw_courses.course_id 
AND wp_wpcw_user_courses.course_progress >0 
AND wp_wpcw_user_courses.user_id 
IN (

SELECT wp_users.ID 
FROM wp_users, wp_usermeta, jdashboard 
WHERE wp_usermeta.meta_key = 'CouponCode' 
AND jdashboard.username = 'jad' 
AND wp_usermeta.meta_value = jdashboard.coupon 
AND wp_usermeta.user_id = wp_users.ID 
) 
GROUP BY course_title 
ORDER BY count(*) DESC "; 



mysqli_set_charset($db,"utf8"); 

$resultMostTakenCourse = mysqli_query($db, $sqlMostTakenCourse); 



    if(mysqli_num_rows($resultMostTakenCourse) > 0){ 

     while($row = mysqli_fetch_array($resultMostTakenCourse)){ 



    ?> 


<html> 
    <head> 
    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> 
    <script type="text/javascript"> 
     google.charts.load('current', {'packages':['corechart']}); 
     google.charts.setOnLoadCallback(drawChart); 

     function drawChart() { 

     var data = google.visualization.arrayToDataTable([ 
      ['Task', 'Hours per Day' ], 

      [ ' <?php echo $row[0]; ?>', <?php echo $row[1];  ?>  ], 

      ['Sleep', 7] 
     ]); 
<?php }} ?> 
     var options = { 
      title: 'My Daily Activities' 

     }; 

     var chart = new google.visualization.PieChart(document.getElementById('piechart')); 

     chart.draw(data, options); 
     } 
    </script> 
    </head> 
    <body> 
    <div id="piechart" style="width: 900px; height: 500px;"></div> 
    </body> 
</html> 

[ ' <?php echo $row[0]; ?>', <?php echo $row[1]; ?> ],がデータベースから1行のみを引っ張っている(最初の答えをチェックして、それを修正)、私は何が不足しているか確認するために私のコードを見直しますし、いくつかの助けとヒントをいただければ幸いです。 EDIT:ループが[名前、数]を行に応じて作成していないことを認識しました。

+0

'html'、' head'、 'body'は全て一度だけ出現しなければならず複数回でなければならない回。 – CBroe

+0

ありがとう、私はループからそれらを取り除いたが、問題の他のアイデアやヒントはありますか? – Lalati

+0

さて、あなたはまた、各ループの反復であなたのJS関数 'drawChart'を_overwriting_しています... – CBroe

答えて

0

data.addRow()関数を使用して問題を修正し、