if (isset($_POST['update'])){
$UpdateQuery = "UPDATE eventcalendar SET Title='$_POST[title]', Detail='$_POST[detail]' WHERE ID='$_GET[ID]'";
mysql_query($UpdateQuery, $con);
}
$sql = "SELECT * FROM eventcalendar";
$myData = mysql_query($sql,$con);
echo "<table border=1'>
<tr>
<th>Id</th>
<th>Title</th>
<th>Detail</th>
<th>Event Date</th>
<th>Date Added</th>
</tr>";
while($row = mysql_fetch_array($myData)){
echo "<form action=details.php method=post>";
echo "<tr>";
echo "<td>" . $row['ID'] . "</td>";
echo "<td>" . "<input type=text name=title value=" . $row['Title'] . " </td>";
echo "<td>" . "<input type=text name=detail value=" . $row['Detail'] . " </td>";
echo "<td>" . $row['eventDate'] . "</td>";
echo "<td>" . $row['dateAdded'] . "</td>";
echo "<td>" . "<input type=submit name=update value=update" . " </td>";
echo "</tr>";
echo "</form>";
}
echo "</table>";
mysql_close($con);
這是我的代碼,但是當我嘗試執行它時,它會執行我的表中的所有行而不是我編輯的唯一行。我搜索了2小時,但仍無法找到它。你們有沒有人知道我可以如何解決這個問題?PHP窗體更新所有mysql行而不是1
如果可以的話,你應該停止使用mysql_ *函數。他們被正式棄用。這些擴展在PHP 7中已被刪除。請改爲了解準備好的語句,並考慮使用PDO,這確實不難。 –
可能是因爲你的'$ _GET [ID]'失敗了。 –
如果您使用'$ _GET [ID]'作爲您的更新的標識符,則需要將其添加到表單的操作中。 – user2959229