从php mysql表中删除数据

从php mysql表中删除数据,php,mysql,Php,Mysql,我有两个表,如果可能的话,我想通过一个查询同时更新。我有一个customerid主键设置为自动递增的customerid客户表,其中customerid设置为外键。 我想从customer表中删除,简单地说,当我删除customerid时,它也应该从complaints表中删除。希望这是有意义的。有人能解释一下如何实现我的上述两个目标吗 <?php include("functions.inc.php"); display_header("Delete a record"); ?&

我有两个表,如果可能的话,我想通过一个查询
同时
更新
。我有一个
customerid
主键设置为自动递增的
customerid
客户表,其中
customerid
设置为
外键。

我想从customer表中删除,简单地说,当我删除customerid时,它也应该从complaints表中删除。希望这是有意义的。有人能解释一下如何实现我的上述两个目标吗

    <?php
include("functions.inc.php");
display_header("Delete a record");
?>
<?php
require_once("dbconnect.inc.php");
?>
<!--displays array easier to read-->
<?php //echo '<pre>';?>  

<div id="container">

<header><?php include("header.inc.php");?></header>

<nav><?php include("navbar.inc.php");?></nav>

<?php include("sidebar.inc.php");?>

<p>
    <img src="images/relationsimage.PNG"/>


    <form action="delete.php" method="post"> 
<?php

$query = "SELECT * FROM customer";
$resultset = $conn->query($query);
while ($row = $resultset->fetch())
{
 echo "<p>";
echo "<input type='checkbox' name='customer[]' id='customer".$row['customerid']."' value='".$row['customerid']."'>";
echo "<label for='customer".$row['customerid']."'>".$row['title']." ".$row['forename']." ".$row['surname']." ".$row['roadname']." ".$row['town']." ".$row['county']." ".$row['postcode']." ".$row['phonenumber']." ".$row['paymentmethod']."</label>";
echo "</p>";
}
?>


<input type="submit" value="delete these sales leads">

</form>
 <?php   

    if (!isset($_POST['customer']))
{

   echo "";
   exit;
}


    $query="DELETE FROM customer WHERE customerid=:customerid";
    $pr_stmt=$conn->prepare($query);
$affected_rows=0;
foreach($_POST['customer'] as $cusid)
{
    $pr_stmt->bindValue(':customerid',$cusid);
    $affected_rows += $pr_stmt->execute();  
}
echo "Deleted ".$affected_rows." customer from customers table";
$conn=NULL; //close the connection
?>
</p>


<footer><?php include("footer.inc.php");?></footer> 

</div>
</body>
</html>



您只需将外键设置为on delete属性,请参阅本教程,它将向您展示如何设置on delete,以便相应表中的行也被删除:

是的。但你的问题在哪里?你在哪里解释你已经尝试过的东西?提示:设置外键时,您可以定义删除时发生的情况
当您使用类似于ON DELETE cascade的方法从客户表中删除时,您需要添加一个外键约束以从投诉表中删除。这是我到目前为止所拥有的,但我也需要以某种方式将投诉表包括在这里,正如我所说,我对这一点非常陌生,因此非常感谢所有帮助。只需在上面添加我的代码以显示我迄今为止所做的工作,如果您的问题是要删除投诉表中客户id的条目,请删除客户表中相同客户id的条目,您只需在客户表中创建规则即可实现这一点。