我有一個問題,試圖通過php填充下拉菜單更新我的數據庫中的多個條目。下面是填充表顯示我的所有條目目前在我的數據庫在我的網頁代碼:mysql php通過填充下拉菜單更新多個條目
$result = mysqli_query($con,"SELECT * FROM Submissions");
echo "<table border='1'>
<tr>
<th>First name</th>
<th>Last name</th>
<th>Email</th>
<th>Title</th>
<th>Text</th>
<th>Public Post OK?</th>
<th>Date/Time Submitted</th>
<th>Approved?</th>
<th>Test Approved</th>
</tr>";
while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['fname'] . "</td>";
echo "<td>" . $row['lname'] . "</td>";
echo "<td>" . $row['email'] . "</td>";
echo "<td>" . $row['title'] . "</td>";
echo "<td>" . nl2br($row['text']) . "</td>";
echo "<td>" . $row['publicpost'] . "</td>";
echo "<td>" . $row['time'] . "</td>";
echo "<td><select name=\"approved\"><option value=\"" . $row['approved'] . "\">" . $row['approved'] . "</option><option value=\"yes\">Yes</option><option value=\"no\">No Again</option></select></td>";
echo "<td>" . $row['approved'] . "</td>";
echo "</tr>";
}
echo "</table>";
?>
<br><br>
<form action="update.php" method="post">
<input type="submit" name="SubmitButton" value="Update" class="submit" style="cursor:pointer;">
</form>
<?php
mysqli_close($con);
?>
這是「update.php」 PHP代碼:
$approved = $_POST['approved'];
mysqli_query($con,"UPDATE Submissions SET approved = $approved");
$update_query= "UPDATE Submissions SET approved = '$approved'";
if(mysqli_query($con,$update_query)){
echo "updated";}
else {
echo "fail";}
?>
<form action="approvesubmissions.php">
<input type="submit" value="Approve Submissions page">
</form>
的目標是有能力使用下拉菜單將「批准」字段更新爲「否」至「是」,反之亦然。相反,此查詢發生的事情是,它正在擦除「已批准」字段中的數據,而不是更新它。我對PHP有些新鮮感,並且對此進行了研究並沒有提出任何解決方案。任何幫助是極大的讚賞!
首先,批准/未批准的選擇框不在表單標籤內。 其次,您似乎沒有將任何標識符與表單一起傳遞,您怎麼知道哪些行必須更新。你所描述的將是我期望在這段代碼中發生的事情。 – DickieBoy