我把表單的所有輸出放在,而循環但是每當我嘗試運行刪除時它就停止工作。我的數據庫還有一個是id,這是唯一的。我試圖刪除使用ID字段,但沒有錯誤顯示,它也無法正常工作。如果我將代碼放在而循環中,它會按自己的方式刪除並逐個顯示消息。我怎樣才能讓它在循環外部刪除?提交表單後記錄沒有從數據庫中刪除
<?php
session_start();
?>
<html>
<body>
<?php
require_once 'login.php';
$connection = new mysqli($db_hostname, $db_username, $db_password, $db_database);
if (!$connection)
die("unable to connect to mysqli:" . mysqli_error());
mysqli_select_db($connection, "dbase1") or die("db not selected" . mysqli_error());
$sql = " SELECT * FROM tab";
$result = $connection->query($sql);
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
?>
<form class="boxed" style ="border: 4px solid black ; text-align: center; action ="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<h1> Message </h1>
<?php echo "<br>" . "Name: " . $row["name"] . "<br>" . " Email : " . $row["email"] . "<br>" . "Phone # " . $row["phone"] . "<br>" . "Message : " . $row["text"] . "<br>"; ?>
<input type="submit" class="button" name="delete" value="delete" style =" background-color: grey;
border: none;
color: white;
padding: 15px 70px;
margin: 15px 0px;
cursor: pointer;"/>
</form>
<?php
}
}
if (isset($_POST['delete'])) {
echo "hry";
$sql = " DELETE FROM tab WHERE id=" . $row["id"];
$result = $connection->query($sql);
}
?>
</body>
<html>
第一件事情 - 請格式化你的代碼。你發佈的內容太可怕了。你必須瞭解表單提交的工作原理。您可以在循環中創建表單,但表單不會提交除提交按鈕之外的任何數據。那麼你如何知道要刪除哪條記錄?檢查此http://www.w3schools.com/php/php_forms.asp改善您的代碼,我會幫助。 –
對不起,我是在PHP初學者,但你建議我卡住你需要我縮進代碼? –
是否有任何其他方式,然後while循環帶來刪除按鈕的多個數據庫條目,是的再次感謝您的幫助! –