2013-12-05 4 views
0

У меня есть 2 таблицы, которые я хочу update в то же время via 1 query если возможно. У меня есть customer table с primary key of cusomerid, который установлен для автоматического приращения и complaints table где customerid установлен на foreign key.Удалить данные из таблиц php mysql

Я хочу, чтобы удалить из таблицы клиентов и поставить просто, когда я удалить этот КодКлиент он должен также удалить из жалоб Таблица. Надеюсь, это имеет смысл. Может кто-нибудь объяснить, как достичь моей цели выше 2?

<?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> 
+2

Да, так оно и есть. Но где ваш вопрос? Где часть вас объясняет, что вы уже пробовали? Подсказка: при настройке внешнего ключа вы можете определить, что происходит 'ON DELETE' – kero

+0

, вам нужно добавить ограничение внешнего ключа для удаления из таблицы жалоб при удалении из таблицы клиентов, используя что-то вроде ON DELETE CASCADE – AdRock

+0

Вот что я до сих пор, но мне нужно включить таблицу жалоб здесь как-то так же, как я сказал, что я действительно новичок в этом, поэтому вся помощь очень ценится. – user3063908

ответ

0

Вам просто нужно иметь свой внешний ключ иметь на съемочную удалить свойство, увидеть этот учебник, это покажет вам, как настроить на удаление, так что строка в соответствующей таблице также удаляется: http://www.mysqltutorial.org/mysql-on-delete-cascade/

Смежные вопросы