首页 > 解决方案 > 我如何删除php中的孔行?

问题描述

我必须按一个按钮来显示每个订单的信息,一个按钮可以在发货后删除订单。我怎样才能使删除按钮起作用。因为“查看顺序有效,但删除顺序无效。我需要使用按钮单独删除每一行。

<?php

require_once 'dbconnection.php';

$sql = "SELECT * from Orders";
$result = mysqli_query($conn, $sql);

if ($result -> num_rows > 0){
    while ($row = $result-> fetch_assoc()){
        echo "<tr><td>". $row["name"] ."</td><td>". $row["student_id"] ."</td><td>". $row["ordr_num"]
        ."</td><td><button class='btn btn-small' id='{$row["ordr_num"]}'>View Order</button></td>
         <td><button class='btn btn-small'}'>Delete</button></td></tr>";
    }
}
else{
    echo "0 result";
}

我需要能够单独删除每一行,但我真的不知道如何。我尝试在 if 之前运行删除脚本,但它不起作用。

标签: phpjqueryhtml

解决方案


我将假设您正在学习 PHP,因为您开发它的方式是一种不好的做法。所以,我会给你一个解决你的要求。

<?php

require_once 'dbconnection.php';

if(isset($_GET['idDelete'])){
  $resultDelete = mysqli_query($conn, "DELETE FROM Orders WHERE ordr_num = " . $_GET['idDelete']);
  if($resultDelete->affected_rows > 0){
    echo "Order # " . $_GET['idDelete'] . " has been deleted";
  }else{
    echo "Order # " . $_GET['idDelete'] . " couldn't be deleted.";
  }
}


$sql = "SELECT * from Orders";
$result = mysqli_query($conn, $sql);

if ($result -> num_rows > 0){
    while ($row = $result-> fetch_assoc()){
        echo "<tr>
                <td>". $row["name"] ."</td>
                <td>". $row["student_id"] ."</td>
                <td>". $row["ordr_num"]."</td>
                <td><button class='btn btn-small' id='" . $row["ordr_num"] ."'>View Order</button></td>
                <td><a href='?idDelete=".$row["ordr_num"]."' class='btn btn-small'>Delete</a></td>
             </tr>";
    }
}
else{
    echo "0 result";
}

?>

推荐阅读