私の削除フォームに問題があります。削除ボタンを押すと、削除する行の代わりに最後に挿入された行が削除されます。 jQuery Ajax SendForm関数を使用して、deleteキーを押したときにdivで更新を行います。その機能を追加する前に機能しました。それはSendFormで動作しない削除だけです。あなたは更新を行うことができ、うまく動作します。MYSQLテーブルからPHPフォームを削除すると、正しい行が削除されません。
<?php
foreach ($pdo->query('SELECT * FROM Commenta order by commentID desc;' ) as $row) :
$luck = $row ['commentID'];
echo "<tr>";
echo "<td><i class='fa fa-eye w3-blue w3-padding-tiny'></i></td>";
echo "<td>".$row['alias']."</td>";
echo "<td>";
foreach($pdo->query('select realName from SubPlace, CommentSubPlace where SubPlace.name = CommentSubPlace.name and CommentSubPlace.commentID = '.$luck.';') as $brow){;
echo $brow['realName']."</br>";
};
echo "</td>";
echo "<td>".$row['grade']."/5 </td>";
echo "<td>".$row['kommentar']."</td>";
echo "<td>".$row['date']."</td>";
?>
<td class="comment-delete">
<form id="cucdel">
<input type="hidden" name="commentID" value="<?php echo $row['commentID']; ?>">
<button type="button" onclick="SendForm('comments', 'comments', 'cucdel');">radera</button>
</form>
</td>
</tr>
<?php
endforeach;
?>
コードの削除部分:
<?php
if (isset($_POST['commentID'])) {
$sql = "DELETE FROM Commenta WHERE commentID = :commentID";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':commentID', $_POST['commentID'], PDO::PARAM_INT);
$stmt->execute();
}
?>
チェックを更新します。 –
'SendForm'とは何ですか?これをデバッグすると、どこの/具体的には間違ったコメントIDが使用されますか? – David
ビュー/出力の上に削除コードを移動すると、表示される前に削除されます。 @davidで述べたように '関数SendForm'を見る必要があります。 – WEBjuju