我在删除我的记录时遇到问题,它会删除记录,但它总是删除第一条记录而不是我选择的相应数据。
function deleterec()
{
$server = "127.0.0.1";
$username = "root";
$password = "";
$database = "inventory";
$conn = new PDO("mysql:host=$server;dbname=$database", $username, $password);
$getstarteds = $conn->prepare("SELECT * FROM record");
$getstarteds->execute();
$displayrecs = $getstarteds->fetch();
if (count($displayrecs) > 0) {
$_SESSION['id'] = $displayrecs['id'];
$checkrec = $conn->prepare("INSERT INTO archive SELECT * from record where id = '" . $_SESSION['id'] . "'");
if ($checkrec->execute()) {
$sql = "DELETE FROM record WHERE id='" . $displayrecs['id'] . "'";
$stmt = $conn->prepare($sql);
if ($stmt->execute()) {
echo '<script language="javascript">';
echo 'alert("Record is Deleted")';
echo '</script>';
echo "<script>setTimeout("location.href='main.php'",100);</script>";
}
}
}
这是我的页面。在此处输入图像描述
这是我的视图代码
$getstarteds = $conn->prepare("SELECT * FROM record");
$getstarteds->execute();
$displayrecs = $getstarteds->fetchAll();
echo"<table class='table table responsive' id='example'>";
foreach($displayrecs as $displayrec)
{
echo"<tr>";
echo"<td>".$displayrec['eq_type']."</td>";
echo"<td>".$displayrec['eq_num']."</td>";
echo"<td>".$displayrec['model']."</td>";
echo"<td>".$displayrec['serial_num']."</td>";
echo"<td>".$displayrec['location']."</td>";
echo"<td>".date("F j, Y",strtotime($displayrec['date_added']))."</td>";
echo"<td><form action='main.php' method='POST'><button name='deletethis' class='btn btn-costume1'><i class='fa fa-times' aria-hidden='true'></i></button><a data-toggle='modal' data-target='#myEdit' class='btn btn-costume3'><i class='fa fa-pencil' aria-hidden='true'></i></a></form></td>";
echo"</tr>";
}
您选择的$getstarteds = $conn->prepare("SELECT * FROM record");
没有WHERE
条件,并且此行$displayrecs = $getstarteds->fetch();
始终获得第一条记录