簡體   English   中英

用php刪除mysql表中的行

[英]deleting rows in mysql table with php

PHP 新手在這里我有一個頁面循環遍歷數據庫並顯示表的內容。 當按下刪除按鈕時,我想刪除數據庫中的該條目。 現在,當按下按鈕並且頁面轉到 delete.php 時,我不斷收到 Undefined index: userid

這是第一頁:

<?php
foreach($rows as $row){
$userid = $row['userid'];
$pName = $row['pName'];
$pDesc = $row['pDesc'];
$dDate = $row['dDate'];
?>

<div class="project-container">

    <label>Project ID:</label>
    <span><?php echo $userid; ?></span><br>
    <label>Project Owner:</label>
    <span><?php echo $pName; ?></span><br>
    <label>Project Description:</label>
    <span><?php echo $pDesc; ?> </span><br>
    <label>Project Due Date:</label>
    <span><?php echo $dDate; ?> </span><br>
    <br>

    <form action="#" method="GET">
        <input type="submit" name="delete" value="Delete Project">
    </form>
    <form action="index.php">
        <input type="submit" name="update" value="Update Project">
    </form>
    </div>
    <br>
    <br>

</div><br><br><?php } ?>

這是delete.php:

include('connect.php');
$userid = $_GET['userid'];
echo $userid;
$sql = "DELETE FROM projecttable WHERE userid  = '$userid'";
$conn->exec($sql);

任何幫助表示贊賞,謝謝

嘗試這個。 它會將名為 userid 的 GET 數組中的變量與 userid 值發送到 delete.php:

<form action="delete.php" method="GET">
    <input type="hidden" name="userid" value="<?php echo $userid; ?>">
    <input type="submit" name="delete" value="Delete Project">
</form>

表單標簽中的 action 屬性將指示發送請求的位置,即 delete.php 腳本,該方法將告訴它使用 GET 數組,該數組基本上將鍵和值放在 URL 本身中。 您也可以通過修改操作字段而不是使用輸入字段來執行此操作。 我只是喜歡這種方式以提高可讀性。

因為輸入字段通常是可見的,使用隱藏字段可以防止它在網頁上顯示,但在代碼中很容易管理。 輸入字段的 name 屬性決定了 GET 數組中鍵的名稱,而 value 屬性決定了 GET 數組中該元素的值。 所以它最終是 $_GET['name_attributue'] = value_attribute 在你的 PHP 腳本中。

舉個例子。 如果您將表單方法屬性更改為 POST,您的 PHP 腳本將需要使用 $_POST 數組而不是 $_GET 數組。

暫無
暫無

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

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