我想在我的表中单击删除按钮或编辑按钮时选择特定行,因为我的表中的每一行都有2个按钮,一个用于删除,另一个用于编辑但是删除行的最后一个ID不是行i想要它 。 我希望当我单击同一行中的按钮删除行时。 请查看下面的图片,了解我的意思
我正在使用此代码创建表
while($row = mysqli_fetch_assoc($result))
{
echo '
<tr class="w3-hover-orange">
<td>
<a class="links" href="topic.php?id=' . $row['topic_id'] . '">' . $row['topic_subject'] . '</a>
</td>
<td>
' . date('d-m-Y', strtotime($row['topic_date'])) . '
</td>
<td>
</td>
<td>
<a href="edit_topic.php" name="topicEdit" id = "topicEdit" class = "w3-button tableButtons" >Edit</a>
<button href="#" name="topicDelete" type="button" id="topicDelete" data-toggle="modal" data-target="#myModal" class ="w3-button tableButtons">Delete</button>
</td>
</tr>';
$_SESSION['topic_id_number'] = $row['topic_id'];
$_SESSION['topciSubject'] = $row['topic_subject'];
}
echo'</table></form></div>';
低于删除主题的代码
if(isset($_POST['topicDelete'])){
$delete = $_SESSION['topic_id_number'];
$query = "DELETE FROM topics WHERE topic_id =".$delete;
$result = mysqli_query($con,$query);
header ("location: awareness-projects.php");
}
答案 0 :(得分:0)
我认为$row['topic_id']
id是要执行删除的ID。
进行以下更改:
<button href="#" name="topicDelete" type="button" id="topicDelete" data-toggle="modal" data-target="#myModal" class ="w3-button tableButtons">Delete</button>
将其更改为anchor
并在其href
中传递此$row['topic_id']
,并在删除页面上获取其值,如:
<a href="xyz.php?id='".$row['topic_id'] ."'"
答案 1 :(得分:0)
由于表条目是通过循环动态生成的,所以在循环结束时它将始终占用最后一个id,因为您使用的会话名称对于每个while循环条目都是相同的。所以每次都会覆盖,最后一个id将在session变量中。 您可以尝试几种选择
<a href="#" name="topicDelete" type="button" id="topicDelete" data-toggle="modal" data-target="#myModal" class ="w3-button tableButtons" data-cid="$row['topic_id']">Delete</a>
然后当你点击链接时使用下面的jquery代码获取当前链接的值并将其存储到模态的隐藏字段中
$(".tableButtons").click(function(){
var id=$(this).data("cid");
alert(id);//check the id if you are getting current id or not
$("#temp").attr("value",id);//this is the hidden field in modal which id is temp and name it to whatever name you use to get the value of it in your delete code
});
无论何时提交表单,此隐藏字段的值都将使用id的值设置,如果您使用表单操作方法,则会提交。 然后你可以将它的值检索为普通文本框,因为你已经做了很多次,我希望如此。 祝一切顺利。 我个人使用这个代码来完成我的工作,它完全正常;)
答案 2 :(得分:-1)
使用query-string发送topic_id,如下所示
<a href="xyz.php?id='".$row['topic_id']."'" name="topicDelete" type="button" id="topicDelete" data-toggle="modal" data-target="#myModal" class ="w3-button tableButtons">Delete</a>
删除代码 -
if(isset($_POST['topicDelete'])){
$delete = $_GET['id'];
$query = "DELETE FROM topics WHERE topic_id =".$delete;
$result = mysqli_query($con,$query);
header ("location: awareness-projects.php");
}