-1
這對我來說沒有意義,但是這個查詢在部分內容中顯示了一些記錄,並且在一行中顯示了一些內容。看似沒有節奏或理性。更糟糕的是,當我在MySql中運行查詢時,它工作得很好,沒有任何問題。目前我認爲這是一個惡魔和/或超級惡魔。爲什麼此查詢創建看似隨機的結果?
$sql = "SELECT phonenumber,date,dataplan AS currentplan, SUM(datamb) AS value_sum FROM maindata2 WHERE email='".($_POST['email'])."' GROUP BY phonenumber,date";
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
$query = mysql_query($sql) or die(mysql_error());
$header_printed = false;
while($row = mysql_fetch_array($query)) {
if ($row['phonenumber']) {
if ($header_printed === false) {
echo "
<table id='display'>
<tr>
<th>Phone Number:</th>
<th>Data Plan:</th>
<th>Data Usage This Period:</th>
<th>Remaining:</th>
<th>Date Reporting:</th>
</tr>";
$header_printed = true;
}
}
}
while ($row = mysql_fetch_assoc($result)){
echo "<tr>";
echo "<td>".$row['phonenumber'] . "</td> ";
echo "<td>".$row['currentplan'] . "MB</td> ";
echo "<td>".ROUND ($row["value_sum"],2) . "MB</td> ";
echo "<td>".($row['currentplan'] - ROUND ($row["value_sum"],2)) . "MB</td>";
echo "<td>".$row['date'] . "</td></tr>";
}
echo "</table>";
任何想法都會比我現在多一個!
數據庫中的數據是否格式良好?田野盡頭沒有流浪的新線?你可以檢查與phpMyAdmin? – John
您能否提供表格的結構樣本,以便我們可以測試並查看究竟是什麼問題?另外,您正在循環中創建一個
你爲什麼要用相同的查詢兩次查詢數據庫並創建兩個結果集?爲什麼你有這樣一行'$ row = mysql_fetch_assoc($ result);'並且什麼也不做(它最終只會推進結果集指針)? –
回答
只是注意到在循環內導致創建多個表,這可能是一個原因,另一個說明,爲什麼你做了兩次相同的查詢,這是在db引擎上無用的頭? !和最後一個筆記,永遠不要在沒有清理的情況下直接在您的查詢中使用用戶輸入。
來源
2013-10-11 18:23:56
您的問題似乎是您運行相同的查詢兩次。在此行上:
您可以獲取結果集的第一個結果行,但實際上根本沒有做任何事情。
您也可以混合使用
$query
和$result
。在遍歷結果集之前,您可能需要輸出表頭。然後循環一次結果集,輸出每一行。
來源
2013-10-14 16:39:03
相關問題