0
を選択していない私は、動的にdatabse(簡潔にするために含まれていないHTML
の全て)からテーブルを移入しています:
このようなコントローラにそれを結果を送信入力フィールドは、インデックスが
foreach($WOaccountsInfo as $WOInfo){
$WOT .="<tr>";
$WOT .="<td>$WOInfo[1]</td>";
$WOT .="<td>$WOInfo[2]</td>";
$WOT .="<td>$WOInfo[3]</td>";
$WOT .="<td>$WOInfo[4]</td>";
$WOT .="<td><form method='post' action='/radiosite/other/index.php'>";
$WOT .="<input type='hidden' value='$WOInfo[0]' name='ID' id='ID'>";
$WOT .="<button type='submit' title='Edit'>Edit</button>";
$WOT .= "<button type='submit' title='Delete' name='action' value='delWOEntry' onclick='confDel()'>Delete</button></td>";
$WOT .="</tr>";
}
:
$ID = filter_input(INPUT_POST, 'ID', FILTER_SANITIZE_NUMBER_INT);
$result = delWOentry($ID);
if ($result === 1){
header("Location: /radiosite/other/index.php?action=first&message=<p class='message'>The entry was successfully deleted from the database</p>");
exit;
}
else {
header("Location: /radiosite/other/index.php?action=wopass&message=<p class='message'>Something went wrong with the deletion</p>");
exit;
}
削除機能コードはここにある:
function delWOentry($ID) {
$db = byuidahoradioconnect();
$sql = 'DELETE FROM wideorbitaccounts WHERE ID = :ID';
$stmt = $db->prepare($sql);
$stmt->bindValue(':ID', $ID, PDO::PARAM_INT);
$stmt->execute();
$rowsChanged = $stmt->rowCount();
$stmt->closeCursor();
return $rowsChanged;
}
これは行を削除しますが、SQLテーブルの最後の行が削除されます。
Webページでは、入力タイプを非表示からテキストに変更しました。ページには正しいID番号が表示されますが、処理するコントローラに送信すると、変数にID番号が表示されます。データベースの最後の行
つまり、行のIDに基づいてテーブル内の行を削除しようとしていますが、選択した行ではなくテーブルの最後の行が削除されています。
「私はフォームを閉じない方法はないと思っていた」と思った時、私はジムからオフィスに帰りましたが、私はしませんでした。ありがとうございます! –
あなたは大歓迎です! – RichGoldMD