google饼图从数据库获取数据有问题

gt0wga4j  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(521)
<?php
include('classes/DB.php');
$male = DB::query('SELECT COUNT(*) AS MTOTAL FROM users WHERE gender=\'male\';');
$female = DB::query('SELECT COUNT(*) AS FTOTAL FROM users WHERE gender=\'female\';');
?>

<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', 'Number of Male and Female visitors'],
            ['Male', <?php while ($s = $male->fetch()) {echo $s ['count(*)'];}?>],
            ['Female', <?php while ($s = $female->fetch()) {echo $s ['count(*)'];}?>],
            ]);
            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>

我想知道为什么我会得到空数据。当我调用echo json_encode($male)和json_encode($female)时,我得到了真值。在本例中,我的数据库中有一个男性用户和三个女性用户,因此我将输出视为[{“mtotal”:“1”,“0”:“1”}][{“ftotal”:“3”,“0”:“3”}]。我想知道为什么我不能在脚本中获取这些值。

bsxbgnwa

bsxbgnwa1#

在查询中,使用 AS 关键字。。。

SELECT COUNT(*) AS MTOTAL
SELECT COUNT(*) AS FTOTAL

使用名称引用记录集中的列。。。
用这个。。。

$s ['MTOTAL']
$s ['FTOTAL']

而不是。。。

$s ['count(*)']

相关问题