MySQL データベースからデータ行を削除しようとしています。
以下は、キーワードを含むテーブルの結果を出力するクエリです。私の結果がどのように表示されるかを確認するには、この写真を参照してください。
addKeywordTable からデータを正常に取得できましたが、削除を実行できません。これは、削除を有効にするためにクリックされる入力ボタンを示す私の index.php ページです。
<?php
include 'db.php';
$sql = mysqli_query($con,"SELECT * FROM addKeywordTable ORDER BY
Keyword_Name ASC");
print <<<HERE
<table id="home">
HERE;
while ($row = mysqli_fetch_array($sql))
{
$key = $row['Keyword_Name'];
print <<<HERE
<tr><td>
<form method="post" formenctype="multipart/form-data" formmethod="POST"
value="Delete" action="deleteKey.php">
<tr>
<input type="hidden" name="sel_key" value="$id">
<input type="submit" name="delete" value=" Delete " id="deleteKey" > $key
<hr/></tr>
</form></td></tr>
HERE;
}
print "</tr></table></body></html>";
?>
「削除」ボタンをクリックすると、次のような確認ページ deleteKey.php が表示されます。
<?php
require 'db.php';
$sel_key = $_POST[sel_key];
//SQL statement to select information
$sql = "SELECT * FROM addKeywordTable WHERE keyID = $sel_key";
//loop through record and get values
while ($key = mysqli_fetch_array($result)) {
$id = $key['Keyword_Name'];
} // end while loop
$pageTitle = "Delete a Keyword";
print <<<HERE
<div id="form1profile">
<h2>Are you sure you want to delete this record?<br/>
It will be permanently removed:</h2>
<ul>
<li>Keyword Category:<br/></li>
$key;
</ul>
<p><br />
<form method="post" action="reallyDelete.php">
<input type="hidden" name="id" value="$id">
<input type="submit" name="reallydelete" value="Confirm Delete" />
<input type="button" name="cancel" value="cancel"
onClick="location.href='addProfile.php'" /></a>
</p></form></div>
HERE;
// close else
?>
削除を確認すると、確認ページ「reallyDelete.php」に移動します。悩んでいるページです。何らかの理由で、変数に行/キーワード名の内容が表示されません。
私のDBには、KeyIDとKeyword_Nameの2つの列しかありません
こちらが削除確認ページです。$id をデータベースに渡してキーワード/レコードを削除するにはどうすればよいですか。
<?php
include 'db.php';
$id = $_POST[id];
$sql = "SELECT * FROM addKeywordTable WHERE Keyword_Name = '$id'";
while ($row = mysqli_fetch_array($result)) {
$id = $row['Keyword_Name'];
} // end while loop
print "<p> $row has been permanently deleted.</p>";
$sql="DELETE FROM addKeywordTable WHERE Keyword_Name = '$id'";
echo "<meta http-equiv='Refresh' content='2; URL=addKeyword.php'>";
?>
これに関するヘルプは素晴らしいでしょう。以下は、addKeywordTableのSQLテーブルのスクリーンショットです