2012-05-29 55 views
0

我有一個名爲「submission」的數據庫,其字段爲「submissionid」和「1adzip」。字段「1adzip」是郵政編碼。回覆用重複分組的數字

我試圖回顯出一張表,迴應出所有的郵政編碼,並重復相同的郵政編碼的重複。我怎樣才能做到這一點?下面的代碼是我試過的,它返回空白結果。

$query2 = "SELECT submissionid, 1adzip 
FROM submission 
GROUP BY 1adzip 
ORDER BY 1adzip ASC";  


$result2 = mysql_query($query2); 

$arr2 = array(); 
echo "<table class=\"commentecho2\">"; 


while ($row2 = mysql_fetch_array($result2)) { 

    echo '<tr>'; 
    echo '<td>'.$row2["1adzip"].'</td>'; 
    echo '<tr>'; 

} 
echo "</table>"; 
+1

請停止使用古老的'mysql_ *'函數編寫新代碼。他們不再被維護,社區已經開始[棄用流程](http://goo.gl/KJveJ)。相反,您應該瞭解[準備好的語句](http://goo.gl/vn8zQ)並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli的)。如果你不能決定,[本文](http://goo.gl/3gqF9)將有助於選擇。如果你關心學習,[這裏是一個很好的PDO相關教程](http://goo.gl/vFWnC)。 –

+0

建議您測試'mysql_query'是否成功,如果不成功則輸出任何錯誤:例如'$ result2 = mysql_query($ query2)或者死(mysql_error());'。 – eggyal

回答

0

您使用的是彙總查詢(它包含了一個GROUP BY條款),並且你想總結一下是有點混亂。

試試這個查詢,而不是你給的那個。你可能會得到更好的結果。

SELECT count(*) howmany, 1adzip 
    FROM submission 
GROUP BY 1adzip 
ORDER BY 1adzip ASC 
1

您的查詢可能有錯誤;您可能希望以下劃線或字母轉義字段:

SELECT submissionid, `1adzip` 
FROM submission 
GROUP BY `1adzip` 
ORDER BY `1adzip` ASC