PHP页面获取MySQL查询的结果

时间:2012-11-02 20:17:01

标签: php mysql

我对如何编写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”)

2 个答案:

答案 0 :(得分:2)

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

我相信这就是你所要求的。

答案 1 :(得分: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.

此:   - 连接数据库(或尝试)   - 运行您的查询   - 制作一个空数组   - 循环结果   - 获取“Count”列并将其添加到数组的末尾   - 将数组压缩为逗号分隔的字符串。

请看这里(http://wezfurlong.org/blog/2004/may/first-steps-with-pdo/和http://www.electrictoolbox.com/php-pdo-bound-placeholders/)获取有关PDO使用的一些指导以及您需要的内容连接到数据库(显然不要发布这些细节)

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