2012-11-02 72 views
1

我對如何編寫PHP沒有任何線索,但我監管的其中一個站點使用它。我想要一個餅圖,它會根據當前數據自動更新。我知道如何編寫將繪製圖表的HTML,但不知道如何讓我的MySQL語句與數據交互。這是我要運行的一段代碼:PHP頁面得到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」)

回答

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. 

此: - 連接到數據庫(或試圖) - 運行查詢 - 使得空array - 循環顯示結果 - 將「Count」列添加到數組的末尾 - 將數組壓縮爲逗號分隔的字符串。

查看此處(http://wezfurlong.org/blog/2004/may/first-steps-with-pdo/和http://www.electrictoolbox.com/php-pdo-bound-placeholders/)以獲取有關PDO用法的一些指導以及您需要連接到數據庫(顯然,不要發佈這些細節)

它可能看起來令人望而生畏,但一次只能走一步。如果你有更多的問題,請問。

+0

我不明白。我的SQL語句在哪裏適合這個?我的表名/字段名稱將在哪裏?這是整個PHP代碼嗎?我看到以'<?'開頭並以'?>'結尾的其他頁面。上面的陳述只是介於兩者之間? –

+0

我會展開(對不起,以爲你已經寫過一些這樣的東西) –

+0

我看了你給PDO的例子,但無法通過數據庫。無論我做什麼,上面的示例都只是說'無法連接到數據庫'。我的DSN如下所示:''mysql:host = MyHost; dbname = MyDBName';'我做錯了什麼? –

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

我相信這是你問的。

+0

當我使用此代碼時,出現錯誤#1111,無效使用組功能。如果我把「計數」部分留給它,它不會給我錯誤 - 但它也不會給我我想要的東西。 –