にフォームの出力をすべて入れますが、ループを実行しますが、削除を実行しようとするたびに動作を停止します。私のデータベースには、idの1つがあります。これはユニークです。 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の初心者ですが、私はあなたが私はコードをインデントする必要があります私は立ち往生している提案何ですか? –
そこに他の方法がありますが、ループ中に複数のデータベースエントリを削除ボタンで表示し、もう一度、ありがとう! –