簡體   English   中英

從表中顯示的數據庫中插入特定行的刪除按鈕

[英]insert delete button of specific row from a database displayed in table

您好,我有以下代碼顯示數據庫結果,我想在表的第3個TD中插入刪除按鈕,該按鈕將刪除該按鈕旁邊的數據的表記錄,第3個TD中的代碼應該是什么刪除按鈕的標簽?

<?php
$con=mysqli_connect("localhost","table","password","database");
if (mysqli_connect_errno())
{
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM recetas_galletas");
echo "<table border='1'>
<tr>
    <th>Title</th>
    <th>Description</th>
</tr>";

while($row = mysqli_fetch_array($result))
{
    echo "<tr>";
    echo "<td>" . $row['title'] . "</td>";
    echo "<td>" . $row['description'] . "</td>";
    echo "<td>" . DELETE BUTTON "</td>";
    echo "</tr>";
}
echo "</table>";
mysqli_close($con);
?>

您可以建立一個鏈接,將ID傳遞到另一個執行刪除操作的php頁面。 因此,鏈接將類似於:

echo "<td><a href='http://www.site.com/delete.php?id=" . $row['id'] . "'></td>";

然后在您的delete.php中:

if (is_int($_GET["id"]) {
    $query = "DELETE FROM recetas_galletas WHERE id = " . $_GET["id"];
    $result = mysqli_query($con, $query);
    // Check the result and post confirm message
}

這是一種非常簡單的方法,但是對您而言可能不是最佳選擇。如果您不驗證此頁面的用戶,則任何人都可以輕松地操作此代碼並刪除表的任何行。

其他方法可能是導航到同一頁面並在同一頁面中執行相同的過程,或者您可以使用ajax,但這是另一個問題。

希望這對我有幫助,請原諒我的英語。

存檔的方法有多種,首先也是最重要的一點是,您需要在數據庫表上有一個字段,您可以在其中標識要刪除的記錄,例如ID形式的主鍵或唯一鍵。

您可以通過創建帶有指向delete.php頁面的文本的鏈接來完成此操作,或者可以使用JQuery和AJAX,也可以使用內部表單。

您還希望只允許授權用戶使用這些頁面,因此您還需要一個帶有會話的登錄頁面。

您可以在此處看到帶有會話的登錄頁面示例。

最簡單的一個是到刪除頁面的鏈接,請參見此處的示例:

<?php
$con = mysqli_connect("localhost","table","password","database");
// Check connection
if (mysqli_connect_errno())
{
    die("Failed to connect to MySQL: " . mysqli_connect_error());
}

if (!$result = mysqli_query($con,"SELECT * FROM recetas_galletas"))
{
    die("Error: " . mysqli_error($con));
}
?>
<table border='1'>
<tr>
<th>Title</th>
<th>Description</th>
</tr>
<?php
while($row = mysqli_fetch_array($result))
{
?>
<tr>
<td><?php echo $row['title']; ?></td>
<td><?php echo $row['description']; ?></td>
<td><a href="delete.php?id=<?php echo $row['id']; ?>">Delete</a></td>
</tr>
<?php
}
mysqli_close($con);
?>
</table>

然后,在您的刪除頁面上,您將看到以下內容:

<?php
// Your database info
$db_host = '';
$db_user = '';
$db_pass = '';
$db_name = '';

if (!isset($_GET['id']))
{
    echo 'No ID was given...';
    exit;
}

$con = new mysqli($db_host, $db_user, $db_pass, $db_name);
if ($con->connect_error)
{
    die('Connect Error (' . $con->connect_errno . ') ' . $con->connect_error);
}

$sql = "DELETE FROM recetas_galletas WHERE id = ?";
if (!$result = $con->prepare($sql))
{
    die('Query failed: (' . $con->errno . ') ' . $con->error);
}

if (!$result->bind_param('i', $_GET['id']))
{
    die('Binding parameters failed: (' . $result->errno . ') ' . $result->error);
}

if (!$result->execute())
{
    die('Execute failed: (' . $result->errno . ') ' . $result->error);
}

if ($result->affected_rows > 0)
{
    echo "The ID was deleted with success.";
}
else
{
    echo "Couldn't delete the ID.";
}
$result->close();
$con->close();
echo "
<form action='user.php' method='post'>
        <table cellpadding='2' cellspacing='2' border='2' >
        <tr>
            <td>Id</td>
            <td>Name</td>
            <td>Gender</td>
            <td>Action</td>
        </tr>
     ";

$select = "select * from user";
$result = mysqli_query($con,$select);
while($r = mysqli_fetch_row($result))
{
    echo "
    <tr>
        <td>$r[0]</td>
        <td>$r[1]</td>
        <td>$r[2]</td>
        <td><input type='submit' value='Delete  $r[0]' style='width:53px;' name='submit' ></td>
    </tr>
    ";
}
echo "
        </table>
        </form>
     ";


if ($_POST['submit'])
{
    $id = $_POST['submit'];
    $id = end(explode(" ",$id));

    $delete = "delete from user where id=$id";
    mysqli_query($con,$delete);
    header("Location:user.php");
}
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM