When I try the delete button I get no errors and the page refreshes but the data won't be deleted, so I think the problem is in passing along the id from a row.
None of the other solutions have worked for me so far. This is the table body.
<tbody>
<?php
$server = "localhost";
$user = "Website";
$pass = "pass";
$db = "db";
$conn = new mysqli($server, $user, $pass, $db);
if ($conn->connect_error)
{
die("connection to database failed");
}
$query = "SELECT * FROM koppeling";
$result = mysqli_query($conn, $query);
while($row = $result-> fetch_assoc())
{
echo "<tr>";
echo "<td>".$row['Wagon_ID']."</td>";
echo "<td name='wagon'>".$row['EPC']."
<a href='delete.php' class='table-button'
id='".$row['id']."'>Delete</a>";
echo "<td>";
echo "</td>";
echo "</tr>";
}
?>
</tbody>
delete.php
file:
<?php
$id = $_GET['id'];
$server = "localhost";
$user = "Website";
$pass = "pass";
$db = "db";
$conn = new mysqli($server, $user, $pass, $db);
if ($conn->connect_error)
{
echo "Conn db failed";``
}
$query = "DELETE FROM koppeling WHERE id='$id';";
try
{
mysqli_query($conn, $query);
mysqli_close($conn);
header('Location: koppelen.php');
}
catch (Exception $e)
{
echo "$e";
}
?>
Can anyone help me figure out what is wrong, I've been stuck on this quite a while now.
Instead if this
while($row = $result-> fetch_assoc())
{
echo "<tr>";
echo "<td>".$row['Wagon_ID']."</td>";
echo "<td name='wagon'>".$row['EPC']."
<a href='delete.php' class='table-button'
id='".$row['id']."'>Delete</a>";
echo "<td>";
echo "</td>";
echo "</tr>";
}
Write this
while($row = $result-> fetch_assoc())
{
echo "<tr>";
echo "<td>".$row['Wagon_ID']."</td>";
echo "<td name='wagon'>".$row['EPC']."
<a href='delete.php?id=".$row['id']."' class='table-button'
id='".$row['id']."'>Delete</a>";
echo "<td>";
echo "</td>";
echo "</tr>";
}
It would be better if you used form with POST request or ajax instead of links.
If you really want to do it this way you can add query string to your href attribute.
$url = "delete.php?id=" . $row['id'];
<a href="<?php echo $url ?>" class='table-button'
id='".."'>Delete</a>";
You have to change the below line
$query = "DELETE FROM koppeling WHERE id='$id';";
to
$query = "DELETE FROM koppeling WHERE id='".$id."';";
so that id value will be properly populated in the query
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.