1

我不知道如何编写 PHP,但我监督的网站之一使用它。我想要一个根据当前数据自动更新的饼图。我知道如何编写将绘制图表的 HTML,但不知道如何让我的 MySQL 语句与数据交互。这是我要运行的一段代码:

SELECT
pc.shortname Name,
Count(qa.factor) Count

FROM
stable_host pc,
stable_area pq,
stable_area_front qa

WHERE
pc.id = pq.host
AND pq.id = qa.area
AND ((pq.name='Signal1') OR (pq.name='Signal5'))

GROUP BY pc.shortname

ORDER BY pc.shortname

当我运行这个脚本时,它给了我以下输出:

Category1   62
Category2   53
Category3   35
Category4   38

我的问题是:我如何获得输出,所以它只显示数字,逗号分隔?(例如:“62,53,35,38”)

4

2 回答 2

2
   SELECT GROUP_CONCAT(count(qa.factor) SEPARATOR ',') count

我相信这就是你要问的。

于 2012-11-02T20:23:33.803 回答
0

你可以使用:

<?php 
$dsn = '';
$username = '';
$password = '';
$query = "Paste your query here";

try {
  $pdo = new PDO($dsn, $username, $password);
  $pdo->prepare($query);
} catch(PDOException $e) {
    die("Could not connect to the database\n");
}
    $results = $pdo->fetchAll();
if(count($results) > 0) {
    $array = array(); 
    foreach($queryResult as $row) {
      $array[] = $row['Count'];
    }
    $commaDelimitedString = implode(',',$array);
} // No need for end PHP tag, they cause problems.

这: - 连接到数据库(或尝试) - 运行您的查询 - 创建一个空数组 - 循环您的结果 - 获取“计数”列并将其添加到数组的末尾 - 将数组压缩为逗号分隔细绳。

查看此处(http://wezfurlong.org/blog/2004/may/first-steps-with-pdo/ 和http://www.electrictoolbox.com/php-pdo-bound-placeholders/)以获取有关PDO 的使用以及连接到数据库所需的内容(显然,不要发布这些详细信息)

它可能看起来令人生畏,但一次只走一步。如果您有更多问题,请提出。

于 2012-11-02T20:21:32.057 回答