gpt4 book ai didi

php - 如何从 HTML 表和数据库中删除查询?

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

我有一个包含 2 个表的数据库:
第一个表“数据”与列(名称,电话,personid)
第二个表“链接”与列(linkid,link,personid)
Personid 是连接两个表的“一对多”关系的外键,当 DELETE 或 UPDATE 时它是“CASCADE”,所以一个人可以拥有多个链接。

HTMl 表格如下所示:

name    phone    links
jim 432443 link1
link2
link3
.....
_______________________
john 54545 link1
_______________________
... ..... .....

显示数据库的代码包含在一个 html 表中:

$state = $connect->prepare("SELECT data.personid, name, phone, link FROM data JOIN links ON data.personid = links.personid");
$state->execute();
$results = $state->fetchAll(PDO::FETCH_ASSOC);
$data = [];

foreach($results as $result) {

$data[$result['personid']] = [
'name' => $result['name'],
'phone' => $result['phone'],
'links' => [],
];


$data[$result['personid']]['links'][] = $result['link'];
}

<table>

<thead>
<tr>
<th>Name</th>
<th>Phone</th>
<th>Links</th>
</tr>
</thead>
<tbody>
<?php
foreach ($data as $row) {
echo "<tr>";
echo "<th>".$row['name']."</th>";
echo "<td>".$row['phone']."</td>";
echo "<td>".implode('<br/>', $row['links'])."</td>";
echo "<td>";
echo "</td>";
echo "</tr>";
}
?>
</table>

我想添加一个删除功能来删除其中的一些数据,比如每个查询旁边的复选框和一个名为“删除所选”的按钮,例如,我知道如何添加复选框和按钮,但我不知道知道实现此功能的代码。

最佳答案

希望它适用于添加,请检查此处显示的代码。

在 html 上包括这个:

<form action="action.php" method="POST">
<button type="submit">delete</button>
<table>

<thead>
<tr>
<th><input type="checkbox" name="check_select" readonly="readonly" onclick="toggleselect(this,'delete_data');"></th>
<th>Name</th>
<th>Phone</th>
<th>Links</th>
</tr>
</thead>
<tbody>
<?php
foreach ($data as $row) {
echo "<tr>";
echo '<input type="checkbox" class="check_box" name="checkbox_delete_data[]" value="'.$row['primary_id_of_your_table'].'">';
echo "<td>".$row['name']."</td>";
echo "<td>".$row['phone']."</td>";
echo "<td>".implode('<br/>', $row['links'])."</td>";
echo "<td>";
echo "</td>";
echo "</tr>";
}
?>

</table>
</form>

在 Javascript 中:

function toggleselect(source,chkbox_name) 
{
checkboxes = document.getElementsByName('checkbox_'+chkbox_name+'[]');

for(var i=0, n=checkboxes.length;i<n;i++) {
checkboxes[i].checked = source.checked;
}
}

现在您可以在 action.php 文件中访问选中的复选框并使用它来删除查询。

例如:

<?php
if (isset($_POST["submit"])) {
$selected_check_boxes = implode(',', $_POST["checkbox_delete_data"]);
$query= $connect->prepare("Delete from table where table.primary id IN ($selected_check_boxes)");
$query->execute();
}
?>

关于php - 如何从 HTML 表和数据库中删除查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46525113/

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