0
Greetings stackoverflow! 我目前把一些手放在图表上,特别是谷歌图表和使用php和phpmyadmin,我试图从普通查询和结果集中的数据库(课程名称+一个饼图的数字)拉结果,但是我只在循环时才得到一行,我会在下面发布我的代码,以便在可能的情况下获得一些提示。 (固定它,首先检查ANSWER)使用php和mysql的GoogleCharts
<?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行,我将回顾我的代码,看看有什么遗漏,并希望得到一些帮助和提示。 编辑:我意识到循环没有根据行创建['名称',数字],将尝试解决该问题
你应该意识到,这是没有意义的输出完整的HTML文档中的循环...'html','head','都必须出现body'内只有一次,而不是多个倍。 – CBroe
谢谢你,我已经把他们从循环中拿出来了,但是你有任何其他的想法或小费来解决这个问题吗? – Lalati
那么你也_overwriting_你的JS函数'drawChart'在每个循环迭代... – CBroe