Следующий скрипт PHP используется для получения набора данных (номеров заказов) в моей базе данных
<?php
require("includes/db.php");
$sql="SELECT * FROM `order` ";
$result=mysqli_query($db,$sql);
echo"<head>";
echo'
<link rel="stylesheet" href="view.css">
<head>';
echo"</head>";
echo "<body >";
echo "<table border=1 cellspacing=0 cellpadding=4 > " ;
echo"<tr bgcolor=grey>";
echo"<td align=center>";
echo "<font size=4>";
echo "<B>";
echo "Order No.";
echo "</B>";
echo"</td>";
echo"</tr>";while($row=mysqli_fetch_array($result))
{
echo"<tr>";
echo"<td align=center>";
echo $row["OrderNo."];
echo "<br>";
echo"</td>";
echo"<td align=center>";
echo "<a href='delete.php?del=";
echo $row['OrderNo.'];
echo">delete</a>";
echo "<br>";
echo"</td>";
echo"</tr>";
}
echo"</table>";
?>
Когда нажата ссылка для удаления в каждом окне, эта строка должна быть удалена! PHP скрипт для удаления выглядит следующим образом
< ?php
include("includes/db.php");
if( isset($_GET['del']) )
{
$id = $_GET['del'];
$sql= "DELETE FROM order WHERE OrderNo.='$id'";
$res= mysqli_query($db,$sql) or die("Failed".mysql_error());
}
?>
Я не перенаправил второй PHP-скрипт на исходный, чтобы выявить ошибку! при нажатии на ссылку удаления я получаю на экране следующее без всякого удаления строки!
< ?php
include("includes/db.php");
if( isset($_GET['del']) ) {
$id = $_GET['del'];
$sql= "DELETE FROM order WHERE OrderNo.='$id'";
$res= mysqli_query($db,$sql) or die("Failed".mysql_error());
}
?>
Как я могу исправить это, чтобы удалить строку при нажатии на ссылку удаления?
Попробуй это
$sql= "DELETE FROM `order` WHERE `OrderNo.` = '$id' ";
Также что-то не так с строкой таблицы html. Вы не закрыли одинарную кавычку (‘) перед удалением. Пожалуйста, попробуйте с кодом ниже.
echo "<td align=center>";
echo "<a href='delete.php?del=";
echo $row['OrderNo.'];
echo "'>delete</a>";
echo "<br>";
echo"</td>";
Попробуй это :
$sql= "DELETE FROM order WHERE OrderNo = '".$id."'";
Ваш второй код говорит обо всем.
менять < ?php
в <?php
, вы неправильно определяете файл как php скрипт в первую очередь.