Php 使用按钮删除MySQL行

Php 使用按钮删除MySQL行,php,mysql,Php,Mysql,我真的在这里挣扎,不知道为什么。当用户单击与其试图删除的行位于同一按钮中的删除按钮时,我正试图删除数据库中的一行 Home.php <table class="table table-bordered table-striped table-responsive sortable"> <tr class="header"> <td>id</td>

我真的在这里挣扎,不知道为什么。当用户单击与其试图删除的行位于同一按钮中的删除按钮时,我正试图删除数据库中的一行

Home.php

<table class="table table-bordered table-striped table-responsive sortable">
                        <tr class="header">
                            <td>id</td>
                            <td>Rep</td>
                            <td>Date</td>
                            <td>Name</td>
                            <td>P_O</td>
                            <td>Due Date</td>
                            <td>Terms</td>
                            <td>Aging</td>
                            <td>Open Balance</td>
                            <td>remove</td>
                        </tr>
                        <?php 
                            while($row = mysql_fetch_array($query)) {

                                $className ="";
                                if ($row['Aging'] >= 45)
                                {
                                    $className="danger";
                                }
                                else if($row['Aging'] >= 25 && $row['Aging'] <= 44)
                                {
                                    $className="warning";
                                }

                                echo "<tr class='$className'>";
                                echo "<td>".$row['id']."</td>";
                                echo "<td>".$row['Rep']."</td>";
                                echo "<td>".$row['Date']."</td>";
                                echo "<td>".$row['Name']."</td>";
                                echo "<td>".$row['P_O']."</td>";
                                echo "<td>".$row['Due_Date']."</td>";
                                echo "<td>".$row['Terms']."</td>";
                                echo "<td>".$row['Aging']."</td>";
                                echo "<td>".$row['Open_Balance']."</td>";
                                echo "<td><button id='" .$row['id']. "' value='" .$row['id']. "' class='btn btn-danger'> Delete</button></td>";

                            }
                        ?>
                    </table>
    // Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

 if(isset($_GET['id'])){
    $userID = (int) $_GET['id'];
    if(!empty($_GET['id'])){
        $delete = mysqli_query($conn, "DELETE FROM Book1 WHERE id='$userID'");
    }
    if($delete){
        echo "Record deleted successfully";
    }else{
        echo "Sorry, record could not be deleted";
    }
  }
?>

如果您与mysqli连接,请始终使用mysqli。 我在这里添加了一个I:

        $delete = mysqli_query($conn, "DELETE FROM Book1 WHERE id='$userID'");
把你的按钮换成这个。您当前没有传递要获取的变量,而是;d通过在URL中添加问号并指定变量来实现。另外,由于您使用的是twitter引导,带有class
btn
的锚看起来就像一个按钮,因此不需要表单

echo "<td><a href='deletepage.php?id=" .$row['id']. "' value='" .$row['id']. "' class='btn btn-danger'> Delete</a></td>";
echo”“;

如果您与mysqli连接,请始终使用mysqli。 我在这里添加了一个I:

        $delete = mysqli_query($conn, "DELETE FROM Book1 WHERE id='$userID'");
把你的按钮换成这个。您当前没有传递要获取的变量,而是;d通过在URL中添加问号并指定变量来实现。另外,由于您使用的是twitter引导,带有class
btn
的锚看起来就像一个按钮,因此不需要表单

echo "<td><a href='deletepage.php?id=" .$row['id']. "' value='" .$row['id']. "' class='btn btn-danger'> Delete</a></td>";
echo”“;
  • 开始($row=mysql\u fetch\u array($query)){
    ,看起来您启动了一个
    ,但看起来您从未关闭过它。在
    的底部,您需要一个echo“”; 没什么大不了的,这也解决不了你的问题

  • 正如我在评论中所说,action并不是
    的属性。请参阅

  • 您可能需要做的是将它包装成一个表单,就像您说的那样,并将
    type=“submit”
    添加到按钮标签中

    <form action="deletepage.php" method="GET">
        ...table html
        echo "<td><button id='" .$row['id']. "' type="submit" value='" .$row['id']. "' class='btn btn-danger'> Delete</button></td>";
    </form>
    
    
    …表格html
    回应“删除”;
    
    至少对我来说,这听起来像是你的问题所在。你需要提交一个html表单到deletepage.php,或者尝试另一种途径,比如AJAX请求到deletepage.php

  • 开始($row=mysql\u fetch\u array($query)){
    ,看起来您启动了一个
    ,但看起来您从未关闭过它。在
    的底部,您需要一个echo“”; 没什么大不了的,这也解决不了你的问题

  • 正如我在评论中所说,action并不是
    的属性。请参阅

  • 您可能需要做的是将它包装成一个表单,就像您说的那样,并将
    type=“submit”
    添加到按钮标签中

    <form action="deletepage.php" method="GET">
        ...table html
        echo "<td><button id='" .$row['id']. "' type="submit" value='" .$row['id']. "' class='btn btn-danger'> Delete</button></td>";
    </form>
    
    
    …表格html
    回应“删除”;
    

    至少对我来说,这听起来像是你的问题。你需要提交一个html表单到deletepage.php,或者尝试另一种途径,比如AJAX请求到deletepage.php。

    好的,我已经将我表的mysql部分包装在表单中了
    好的,我已经将我表的mysql部分包装在表单中了好的,我更改了代码行,但是当我点击了“删除”按钮,什么也没发生。我们到达了某个地方,它让我进入deletepage.php,并给了我一个错误,即无法删除行?它仍然给了我一个“对不起,记录无法删除”错误。我正在更新主帖子,其中@OctopiI添加了
    $conn
    变量,你使用了吗?当我点击e delete button这是它在获取错误消息deletepage.php?id=好的,我更改了代码行,但是当我单击delete按钮时,仍然没有发生任何事情。我们到达某个地方时,它将我转到deletepage.php,并给了我一个错误,即无法删除该行?它仍然给了我抱歉,记录无法be删除错误。我正在用@OctopiI添加的
    $conn
    变量更新主帖,您使用了吗?当我单击删除按钮时,这是获取错误消息deletepage.php?id时显示的url=