我有一個任意數量行的HTML表格,每行有4列。這個想法是讓用戶編輯這些行中的任何一行然後保存結果。這些更改應該保存到數據庫中。但我有幾個問題。如何提交和處理表格中的值
我發現了一些帖子在stackoverflow指示你應該如何處理這個,但沒有在我的情況下完全有用。這是用戶編輯我的表時的樣子(儘管我現在只有一行,可能有幾個)。
my table http://oi58.tinypic.com/2gvq9nb.jpg
當然還有的提交按鈕,這把我給名爲類似「handle_edit.php」的PHP文件。
現在another post on stackoverflow關於這個問題已經表明,我應該使用某種foreach循環來編輯我的HTML表中每行SQL表中的一行。我在「handle_edit.php」中的這個循環的版本看起來像這樣:
foreach($_POST['appearances'] as $appearances) {
$goals = $_POST['goals'];
$assists = $_POST['assists'];
$name = ??????? //How to I do this?
mysqli_query($connection, "UPDATE players
SET appearances=$appearances, goals=$goals, assists=$assists
WHERE name=$name");
}
首先。循環需要包含一個數組表達式,編譯器告訴我現在不是這種情況。但我不知道如何計算行數。在我上面鏈接的線程中,他們正在做類似於此的操作,但由於我的foreach
循環無法工作,所以我不認爲自己完全明白自己在做什麼。
其次,由於表中的名稱列不是輸入字段,我不知道如何使用其餘信息將其發送到此頁面。我需要做某事,因爲我想根據提供的名稱來確定要編輯哪一行。這個SQL表中的每個玩家都有一個唯一的玩家ID,我可以使用它嗎?
我可能正在接近這個錯誤的方式嗎?有更可行的解決方案嗎?
請告訴我,如果你需要任何額外的代碼。
在此先感謝!
yes您正在接近錯誤的方式。您需要學習1.隱藏輸入字段2.數據庫主鍵3.sql注入並可能更多.. – 2014-10-08 09:51:55