我會從問題開始。我通過調用mysql_fetch_assoc()來顯示行中的所有字段。每一次新的傳球給我新的行加上舊的行值。它複合每次傳球。我已經嘗試了很多東西,並瀏覽了很多帖子和論壇,並沒有完全找到我需要解決的問題。任何幫助表示讚賞。mysql_fetch_assoc()的結果將舊值複合到新值中。有任何想法嗎?
編輯:對不起,但我張貼問題後,縮進變得混亂。
下面是MySQL表腳本:
CREATE TABLE pay_hours
(
_key int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
_userNumber int(11),
_hoursWorked double
);
CREATE TABLE pay_dates
(
_key int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
_userNumber int(11),
_dateWorked date
);
這裏的查詢:
$query = "SELECT h._userNumber, d._dateWorked, h._hoursWorked FROM pay_hours h, pay_dates d WHERE d._userNumber=h._userNumber ORDER BY d._dateWorked DESC"; // gets the user, hours and dates and displys most recent dates first.
$result = $keyFrameObject->Execute($query); // wrapper for mysql_query()
這裏的循環:
$row = mysql_fetch_assoc($result);
while ($row)
{
$table .= "<tr>";
foreach ($row as $field)
{
$table .= "<td>" . $field . "</td>";
}
$table .= "</tr>";
$row = mysql_fetch_assoc($result);
}
這是一個PHP頁面,我最終會呼應表用這些數據創建。我輸入dateWorked和hoursWorked的值,同時使用相同的userNumber值進行測試。下面是一些示例輸入和輸出(使用var_dump($row)
):
輸入:
date = 2011-08-05
hours = 1
輸出:
array(3) { ["_userNumber"]=> string(3) "333" ["_dateWorked"]=> string(10) "2011-08-05" ["_hoursWorked"]=> string(1) "1" }
現在這一頁貼後背,我會在一組新值的輸入:
輸入:
date = 2011-08-04
hours = 5
輸出(未格式化的):
array(3) { ["_userNumber"]=> string(3) "333" ["_dateWorked"]=> string(10) "2011-08-05" ["_hoursWorked"]=> string(1) "5" } array(3) { ["_userNumber"]=> string(3) "333" ["_dateWorked"]=> string(10) "2011-08-05" ["_hoursWorked"]=> string(1) "1" } array(3) { ["_userNumber"]=> string(3) "333" ["_dateWorked"]=> string(10) "2011-08-04" ["_hoursWorked"]=> string(1) "1" } array(3) { ["_userNumber"]=> string(3) "333" ["_dateWorked"]=> string(10) "2011-08-04" ["_hoursWorked"]=> string(1) "5" }
輸出(格式化):
array(3) { ["_userNumber"]=> string(3) "333" ["_dateWorked"]=> string(10) "2011-08-05" ["_hoursWorked"]=> string(1) "5" }
array(3) { ["_userNumber"]=> string(3) "333" ["_dateWorked"]=> string(10) "2011-08-05" ["_hoursWorked"]=> string(1) "1" }
array(3) { ["_userNumber"]=> string(3) "333" ["_dateWorked"]=> string(10) "2011-08-04" ["_hoursWorked"]=> string(1) "1" }
array(3) { ["_userNumber"]=> string(3) "333" ["_dateWorked"]=> string(10) "2011-08-04" ["_hoursWorked"]=> string(1) "5" }
每當在輸入的值,並通過代碼運行,它進一步化合物。我相信問題在於循環,但我不確定。不知何故,$行在回帖後保持價值。
再次感謝您的幫助,並讓我知道是否需要更多信息。
你在哪裏做var_轉儲?如果它在while循環中,那麼你顯示的輸出是預期的。在while循環完成後,var_dump($ table)會顯示什麼? – vascowhite