gpt4 book ai didi

PHP表单从MYSQL表中删除不删除右侧行

转载 作者:行者123 更新时间:2023-11-29 11:09:00 25 4
gpt4 key购买 nike

我的删除表单有问题。当您按下删除按钮时,它将始终删除最后插入的行,而不是您要删除的行。我正在使用 jQuery Ajax SendForm 函数在您按删除键时对 div 进行更新。在添加该功能之前它就起作用了。只有删除不能与 SendForm 一起使用;您可以进行更新,并且效果很好。

<?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();
}
?>

最佳答案

这一行

foreach($pdo->query( 'select realName from SubPlace, CommentSubPlace where SubPlace.name = CommentSubPlace.name and CommentSubPlace.commentID = '.$luck.';' ) as $brow){;

虽然不是语法错误 - 分号中没有任何用途。如果更改为:

// protect yourself from bad data
$luckint = (integer) $luck;

// lose the confusing and unnecessary semi-colon here
// prepare the query separately
$query = 'select realName from SubPlace, CommentSubPlace where SubPlace.name = CommentSubPlace.name and CommentSubPlace.commentID = '.$luckint;

// this line *can not* end in a semi-colon - find your error log
foreach ($pdo->query( $query ) as $brow) {

回答问题

它总是删除最后一个的原因是表单ID。您总是在每个删除表单中打印相同的 id。 id 必须是唯一的 - 使表单 id 如下所示:

<form id="cucdel<?php echo $row['commentID']; ?>">
<input type="hidden" name="commentID" value="<?php echo $row['commentID']; ?>">
<button type="button" onclick="SendForm('comments', 'comments', 'cucdel<?php echo $row['commentID']; ?>');">radera</button>
</form>

然后更新

关于PHP表单从MYSQL表中删除不删除右侧行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40948427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com