亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

嘗試在 PHP 中為每一行構建一個刪除按鈕,但出現錯誤

嘗試在 PHP 中為每一行構建一個刪除按鈕,但出現錯誤

PHP
精慕HU 2021-12-03 15:32:31
我正在嘗試在 PHP 中使用以下代碼來生成行和刪除按鈕。但不是刪除選定的,而是從行的底部刪除。<?php$connection = mysqli_connect('localhost','root','','rohit');{    $query  = "SELECT * FROM user";    $result = mysqli_query($connection,$query);    while($row = mysqli_fetch_assoc($result)) {        $id     = $row['id'];        $name   = $row['name'];        $lname  = $row['lname'];        $dept   = $row['department'];        $dob    = $row['DOB'];        $doj    = $row['DOJ'];        $mobile = $row['mobile'];        $email  = $row['email'];        $salary = $row['salary'];        $gender = $row['gender'];        echo "<tr>";        echo "<td>{$id}</td>";        echo "<td>{$name}</td>";        echo "<td>{$lname}</td>";        echo "<td>{$dept}</td>";        echo "<td>{$dob}</td>";        echo "<td>{$doj}</td>";        echo "<td>{$mobile}</td>";        echo "<td>{$email}</td>";        echo "<td>{$salary}</td>";        echo "<td>{$gender}</td>";        echo '<td>' . '<form method="post"><button class="mb-1 mr-1 btn btn-primary" name="edit"><i class="fa fa-edit"></i></button>' .            '<button class="mb-1 mr-1 btn btn-danger" name="delete"><i class="fa fa-times"></i></button></form>'            . '</td>';        echo "</tr>";    }}?><?phpif (isset($_POST['delete'])) {    $query1  = "DELETE FROM user ";    $query1 .= "WHERE id = $id LIMIT 1";    $result1 = mysqli_query($connection,$query1);    if (!$result1) {        die("FAILED" . mysqli_error($connection));    }}?>任何形式的幫助是appreaciated 。提前致謝。:)
查看完整描述

3 回答

?
溫溫醬

TA貢獻1752條經驗 獲得超4個贊

在您的表單中,您需要使用要刪除的行的id傳遞action屬性


所以它會是這樣的


<form method="post" action="<?= $_SERVER['PHP_SELF']?>?id={$id}">

然后在你的 SQL 查詢中,你將傳遞這個 id,我在這里使用準備好的語句來保護你免受 SQL 注入


<?php

  if (isset($_POST['delete'])) {

     $stmt = $connection->prepare("DELETE FROM user WHERE id=?");

     $stmt->bind_param($_GET['id']);

     $stmt->execute();


   if (!$result1) {

    die("FAILED" . mysqli_error($connection));

   }

 }

?>


查看完整回答
反對 回復 2021-12-03
?
牛魔王的故事

TA貢獻1830條經驗 獲得超3個贊

您正在使用$id用于$result在 while 循環中從對象獲取數據的。循環在數據庫中最后一個當前 id 處結束,因此它只會刪除最后一個$id并且只刪除一次。您可以$id在表格中寫下每條記錄。例如:


<form method="post"><button class="mb-1 mr-1 btn btn-primary" name="edit"><i class="fa fa-edit"></i></button>' .

    '<input display="hidden" name="id" value="'.$id.'">'.

    '<button class="mb-1 mr-1 btn btn-danger" name="delete"><i class="fa fa-times"></i></button>

</form>

然后在你的 PHP 中


if (isset($_POST['delete'])) {

    $d_id = $_POST['id'];

    $query1  = "DELETE FROM user ";

    $query1 .= "WHERE id = $d_id LIMIT 1";

    $result1 = mysqli_query($connection,$query1);

}


查看完整回答
反對 回復 2021-12-03
?
三國紛爭

TA貢獻1804條經驗 獲得超7個贊

我對您的代碼進行了一些更改。這會起作用..??!


1.更改方法屬性(給定表單方法 POST ,但在 php 查詢中它是 GET?,F在都是 POST 類型)


2.刪除時將id作為隱藏字段傳遞。所以它會刪除,正確的記錄。此外刪除查詢是更改(使用此 ID 刪除記錄)


<?php


$connection = mysqli_connect('localhost','root','','rohit');

{


$query  = "SELECT * FROM user";

$result = mysqli_query($connection,$query);


while($row = mysqli_fetch_assoc($result)) {

    $id     = $row['id'];

    $name   = $row['name'];

    $lname  = $row['lname'];

    $dept   = $row['department'];

    $dob    = $row['DOB'];

    $doj    = $row['DOJ'];

    $mobile = $row['mobile'];

    $email  = $row['email'];

    $salary = $row['salary'];

    $gender = $row['gender'];



    echo "<tr>";

    echo "<td>{$id}</td>";

    echo "<td>{$name}</td>";

    echo "<td>{$lname}</td>";

    echo "<td>{$dept}</td>";

    echo "<td>{$dob}</td>";

    echo "<td>{$doj}</td>";

    echo "<td>{$mobile}</td>";

    echo "<td>{$email}</td>";

    echo "<td>{$salary}</td>";

    echo "<td>{$gender}</td>";

    echo '<td>' . '<form method="post"><button class="mb-1 mr-1 btn btn-primary" name="edit"><i class="fa fa-edit"></i></button>' .

        '<input type="hidden" name="del_id" value="'.$id.'">'.

        '<button class="mb-1 mr-1 btn btn-danger" name="delete"><i class="fa fa-times"></i></button></form>'

        . '</td>';

    echo "</tr>";


}

}


?>

<?php

if (isset($_POST['delete'])) {

$del_id = $_POST['del_id'];

$query1  = "DELETE FROM user ";

$query1 .= "WHERE id = $del_id LIMIT 1";

$result1 = mysqli_query($connection,$query1);


if (!$result1) {

    die("FAILED" . mysqli_error($connection));

}

}

?>


查看完整回答
反對 回復 2021-12-03
  • 3 回答
  • 0 關注
  • 300 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號