Удалить MYSQL Запись в БД с помощью кнопки PHP / HTML - PullRequest
0 голосов
/ 14 июля 2020

Эй.

Я учусь PHP и MYSQL атм.

Итак, я уже написал код, который будет красиво отображать все из моей базы данных в HTML. Я также создаю кнопку , которая говорит: Удалить .

Теперь я хочу написать код, который на самом деле удаляет указанную c запись ( у всех есть ID), но я вроде потерял . я знаю, что это команда: $ sql = "УДАЛИТЬ ИЗ автомобилей, ГДЕ 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);
?>

Ответы [ 3 ]

3 голосов
/ 14 июля 2020

У вас есть два способа:

1:
использовать метод GET:

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

В удалить. 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');
                            
                        }
                    });
                

            }

в удалении. php:

 $id=$_POST['id'];

И запросите удаление.

Пожалуйста, улучшите все ваши запросы. ( подготовьте stmt )

1 голос
/ 14 июля 2020

Вы можете использовать форму с названием кнопки действия, чтобы определить, какую часть действия нужно выполнить

    <?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>
1 голос
/ 14 июля 2020

Вы можете сделать это двумя способами
1 - вы можете создать гиперссылку и передать ей значение строки, например <a herf="page.php ? Id= $row['id']>del</>
2 - вы можете сделать кнопку внутри сообщения метода формы и опубликовать идентификатор и удалить запись.

Примечание: в php он работает с тегом имени, а не с идентификатором

Надеюсь, этот ответ вам поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...