【问题标题】:Delete MYSQL DB Entry via PHP / HTML Button通过 PHP / HTML 按钮删除 MYSQL DB 条目
【发布时间】:2020-07-14 19:36:22
【问题描述】:

嘿。

我正在学习 PHP 和 MYSQL atm。

所以我已经编写了代码,可以很好地将数据库中的所有内容显示为 HTML。 我还创建了一个按钮,上面写着Delete

现在我想编写一个实际上删除特定条目(都有一个 ID)但我有点丢失的代码。 我知道命令是: $sql = "DELETE FROM cars WHERE car_id='$car_id'";但是如何在 php 中将此事件添加到按钮单击中。

我想在生成代码中我用

<?php
$servername = "localhost";
$username   = "root";
$password   = "";
$dbname     = "muscle_cars";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
   die("Connection failed: " . mysqli_connect_error() . "\n");
}

$sql = "SELECT car_id, carname, hp, img, available FROM cars";
$result = mysqli_query($conn, $sql);
// fetch the next row (as long as there are any) into $row
while($row = mysqli_fetch_assoc($result)) {
     
    
echo '
<div class="card col-3 m-3 bg-info" >
  <img src="'.$row["img"].'" class="card-img-top" alt="...">
  <div class="card-body">
    <h5 class="card-title">'.$row["carname"].'</h5>
    <p class="card-text">Horsepower : '.$row["hp"].'</p>
    <p class="card-text">Available : '.$row["available"].'</p>

    <a href="#" class="btn btn-outline-danger text-white">DELETE</a>
  </div>
</div>
';
}

// Free result set
mysqli_free_result($result);
// Close connection
mysqli_close($conn);
?>

【问题讨论】:

    标签: javascript php html mysql


    【解决方案1】:

    你有两种方法:

    1:
    使用 GET 方法:

    <a href="/delete.php?id='.$row['car_id'].'" class='btn btn-outline-danger text-white'>DELETE</a>
    

    delete.php中:

    $id=$_GET['id'];
    

    并查询删除。

    2:
    使用 ajax:

     <button value="'.$row['car_id'].'" class="btn btn-outline-danger text-white" onclick="Delete(this)">DELETE</button>
    

    js:

       function Delete(elem) {
                    var id= elem.value;
                   
                          $.ajax({
                            url: "delete.php",
                            type: "POST",
                            data: {id: id},
                            success: function (data) {
    
                                alert('Done');
                                
                            }
                        });
                    
    
                }
    

    在delete.php中:

     $id=$_POST['id'];
    

    并查询删除。

    请改进您的所有查询。(prepare stmt)

    【讨论】:

      【解决方案2】:

      您可以使用带有操作按钮名称的表单来确定要执行的操作部分

          <?php
            
              if(isset($_POST['delete_rows'])) { //<-- see input name
                  ... delete anything from database ...
              } else
              if(isset($_POST['select_rows'])) { //<-- see input name
                  ... select anything from database ...
              } 
          ?> 
            
          <form method="post"> 
              <input type="submit" name="delete_rows" value="Delete"/>
              <input type="submit" name="select_rows" value="Select"/>
          </form>
      

      【讨论】:

        【解决方案3】:

        你可以通过两种方式做到这一点
        1-您可以创建一个超链接并将行值传递给它,例如&lt;a herf="page.php ? Id= $row['id']&gt;del&lt;/&gt;
        2-您可以在表单方法中创建一个按钮发布并发布ID并删除记录。

        注意:在 php 中,它使用名称标签而不是 id

        希望这个回答对你有帮助

        【讨论】:

          猜你喜欢
          • 2016-05-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-25
          • 2014-08-17
          • 2013-05-30
          • 2013-03-02
          相关资源
          最近更新 更多