Я хотел бы иметь возможность удалить строку, используя кнопку delete, которая отображается в конце каждой строки. Мне нужно два запроса, чтобы удалить человека из моей базы данных, так как у меня есть связь n-m между Лицами и функциями. Запросов следующим образом:Как удалить запись из mysql с помощью кнопки?
delete from `Persons` where `Person ID` = '1';
Я хотел бы реализовать эти запросы с помощью удаления кнопки, содержащейся в настоящем коде, как я могу это сделать?
UPDATE: Я вносил изменения в соответствии с тем, что написал Kristian Hareland, и он перезагружается, но человек не удаляется, что нужно изменить, чтобы заставить его работать?
showall.php:
<table>
<thead>
<tr>
<?php
// Variables
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "root";
$dbname = "CISV";
$dberror1 = "Could not connect to database: ";
$dberror2 = "Could not select database: ";
$dberror3 = "Could not execute query: ";
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ($dberror1 . mysql_error());
$select_db = mysql_select_db('CISV') or die ($dberror2 . mysql_error());
$query = "SELECT p.`Person ID`, p.`First Name`, p.`Last Name`, p.Gender, p.`Date Of Birth`, p.Email, p.`Phone Number`, c.Region, c.Country, p.`Delegation ID`
FROM Persons as p, Chapters as c
WHERE c.`Chapter ID`=p.`Chapter ID`
ORDER BY p.`Delegation ID";
$result = mysql_query($query) or die($dberror3 . mysql_error());
$row = mysql_fetch_assoc($result);
foreach ($row as $col => $value) {
echo "<th>";
echo $col;
echo "</th>";
}
?>
</tr>
</thead>
<tbody>
<?php
mysql_data_seek($result, 0);
while ($row = mysql_fetch_assoc($result)) {
?>
<tr>
<?php
foreach($row as $key => $value){
echo "<td>";
echo $value;
echo "</td>";
}
?>
<td><a href="/DeletePerson.php?id=<?php echo $result['Person ID']; ?>" class="btn btn-danger">Delete</a></td>
</tr>
<?php } ?>
DeletePerson.php:
<?php
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "root";
$dbname = "CISV";
$dberror1 = "Could not connect to database: ";
$dberror2 = "Could not select database: ";
$dberror3 = "Could not execute query: ";
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ($dberror1 . mysql_error());
$select_db = mysql_select_db('CISV') or die ($dberror2 . mysql_error());
$UserId = mysql_real_escape_string($_GET['id']);
if(isset($UserId)){
//DELETE QUERY
$Del = mysql_query("DELETE FROM `Persons` WHERE `Person ID` = '$UserId'");
if($Del){
$Flag = TRUE;
}
else{
$Flag = FALSE;
}
header("Location: /showall.php?delete=$Flag");
}
else{
die("Error");
}
где javascript –
«Мне нужно два запроса, чтобы удалить человека из моей базы данных полностью, так как у меня есть связь n-m между людьми и функциями». А где ваш внешний ключ, который делает это автоматически для вас? –
Я забыл добавить 'delete on cascade'. Спасибо, я сделал это сейчас. – Tom