我使用多個表單來選擇要更新的內容。提交後只有我的最後一個表單消失。我認爲它甚至不會處理它在提交時應該做的更新。 請幫幫我!我提交的問題
PHP代碼:
if ($collect == "foto"){
$sql = mysqli_query($link, "SELECT * FROM foto");
$row = mysqli_fetch_assoc($sql);
$array = array();
echo "<form method='POST'>";
while ($row = mysqli_fetch_assoc($sql))
{
echo "<input type='text' name='foto[]' value=".htmlspecialchars($row['foto'])."></input>";
}
echo "<input type='submit' name='submit3' value='update'></input></form>";
if (isset($_POST['submit3'])) {
echo "Finally!";
$array = $_POST['foto'];
$i = 0;
foreach ($array as $foto) {
$ufoto = $array[$i];
$sql ="
UPDATE
foto
SET
foto = '$ufoto'
WHERE
id = $i
";
mysqli_query($link, $sql);
$i ++;
var_dump($array);
}
}
}
從我所看到的,你只打開一個表格一次;你的更新中沒有'where'子句,所以它會把它們全部做成同樣的東西,你至少應該傳遞一個'id'或者一些字段來區分。除此之外,我不確定你說的是錯的。 – Jon
@jon在更新中沒有where語句它更新所有權利?這就是目的。還有我遇到的問題是,當我按下提交沒有發生的事情。 – Moopsish
所以在'foto'表中,你有一個名爲'foto'的字段,你希望數據庫中的每一個字段都變成輸入文本?如果是這樣,你計劃如何做到這一點將會把它們全部更新到數組中的最後一個,因爲除此之外沒有別的區別。 – Jon