Witam,
piszę stronkę na zaliczenie i mam w panelu administracyjnym tabelę z menu do której ładnie się dodaje i usuwa kiedy podam konkretne ID. Zrobiłem obok wiersza w tabeli html przycisk usuń i chciałbym żeby usuwał dokładnie ten wiersz do którego jest przypisany.
Tutaj kod tworzący tabelę i wypełniający ją danymi z bazy:
require_once ('../db_connect.php');
if ($result = $polaczenie->query("SELECT * FROM jadlospis ORDER BY ID")){
if($result->num_rows > 0) {
echo '<div class="card mb-3">'; echo '<div class="card-header">';
echo '<div class="card-body">'; echo '<div class="table-responsive">';
echo '<table class="table table-bordered" id="dataTable" width="100%" cellspacing="0">'; <th>ID </th>
<th>Dzień </th>
<th>Śniadanie </th>
<th>Obiad</th>
<th>Podwieczorek</th>
<th>Usuń/Popraw</th>
</tr>";
while($row = $result->fetch_object()){
echo "<td>" . $row ->id . "</td>"; echo "<td>" . $row ->dzien . "</td>"; echo "<td>" . $row ->sniadanie . "</td>"; echo "<td>" . $row ->obiad . "</td>"; echo "<td>" . $row ->podwieczorek . "</td>";
echo "<td> <input type=submit class=btn btn-primary btn-block name=idusun value=usuń> </td>";
}
Zapytanie SQL pod Submita wygląda następujaco:
if (isset($_POST['idusun'])) {
//Udana walidacja
$wszystko_OK=true;
$userid = $_SESSION['user'];
[sql]$delete = "DELETE FROM `jadlospis` WHERE `ID` = id";[/sql]
//Połączenie z bazą
require_once "../db_connect.php";
mysqli_report(MYSQLI_REPORT_STRICT);
try
{
$polaczenie = new mysqli($host, $db_user, $db_password, $db_name);
if ($polaczenie->connect_errno!=0)
{
throw new Exception(mysqli_connect_errno());
}
else
{
if ($polaczenie->query($delete))
{
$_SESSION['udanezamowienie']=true;
header('Location: form-basic.php'); }
else
{
throw new Exception($polaczenie->error);
}
}
}
catch(Exception $e)
{
echo '<span style="color:red;">Coś się popsuło!</span>'; echo '<br />Informacja developerska: '.$e; }
}
Niestety usuwa ono wszystkie wiersze, a chciałbym tylko jeden.
Proszę bardzo o pomoc.