簡體   English   中英

我想使用PhP刪除組合框中的所選項目,並且該項目也必須反映在數據庫中

[英]I want to delete a selected item that is in combobox using PhP and that must also reflect in Database

這是要刪除的php代碼。

<?php
$namez = $_POST['vendel'];
$name = mysql_real_escape_string($namez);
mysql_connect("localhost","root",
"") or die("Wrong username or password");
mysql_select_db("vendor") or die( "Unable to select database");
mysql_query("DELETE FROM vendoradd WHERE venname='$name'");
?>

這是我從組合框中選擇的代碼。

<form action="delete.php" method="post">
                     <select name="vendel">
            <?php
                $con=mysqli_connect("localhost","root","","vendor") or die("Unable to connect");
                $query = mysqli_query($con,"select venname from vendoradd");
                while ($row=$query->fetch_assoc()){
                    echo "<option value=\"vendel1\">".$row['venname']."</option>";
                }
            ?>
            </select>

                <input type="submit" value="Delete" id="del">
            </form>

我沒有收到任何錯誤,頁面正在重定向到delete.php文件,但是當我交叉檢查數據庫時,所選數據沒有被刪除。 任何幫助表示贊賞。 提前致謝

好吧,這是因為您要發布一個值“ vendel1”,這意味着您總是發送相同的值,只是為了讓您知道... select組合框的名稱是$ _POST和該選項中的值就是該值,例如,如果您具有:

<form action="" method="post">
<select name="foo">
    <option value="1">Stack</option>
    <option value="2">Overflow</option>
</select>
<input type="submit">
</form>
<?php
     echo $_POST['foo'];
?>  

然后選擇選項“堆棧”的輸出

$ _POST ['foo']

將為1。

因此,如果要使用選擇組合框進行發布,則必須為每個選項提供唯一的值,以便可以在數據庫中刪除正確的選項。 我的建議是為表中的每個用戶創建一個唯一ID,比字符串更好地比較唯一ID ...為什么? 因為如果您有兩個同名的人,則將兩個人都刪除,但是使用唯一的ID不會有此問題。 如果要刪除

<form action="delete.php" method="post">
 <select name="vendel">
        <?php
            $con=mysqli_connect("localhost","root","","vendor") or die("Unable to connect");
            $query = mysqli_query($con,"select TRIM(venname) from vendoradd");
            while ($row=$query->fetch_assoc()){
                echo "<option value=".$row['venname'].">".$row['venname']."</option>";
            }
        ?>
 </select>
 <input type="submit" value="Delete" id="del"></form>

並且您的刪除應如下所示:

   <?php

      $namez = $_POST['vendel'];
      $name = mysql_real_escape_string($namez);
      mysql_connect("localhost","root", "") or die("Wrong username or password");
      mysql_select_db("vendor") or die( "Unable to select database");
      mysql_query("DELETE FROM vendoradd WHERE TRIM(venname) = TRIM('$name')");

?>

暫無
暫無

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

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