1

PHP の書き方についての手がかりはありませんが、私が監督しているサイトの 1 つがそれを使用しています。現在のデータに基づいて自動的に更新される円グラフが必要です。グラフを描画する 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 に答える