Как удалить определённую запись из таблицы?

На странице я вывожу таблицу:
<table width="80%" border="1">
    <tr>
    <th colspan="4"><label><a href="video.php">upload new files</a></label></th>
    </tr>
    <tr>
    <td>File Name</td>
    <td>File Type</td>
    <td>File Size(KB)</td>
    <td>View</td>
    </tr>
    <?php
 $sql="SELECT * FROM video";
 $result_set=mysql_query($sql);
 while($row=mysql_fetch_array($result_set))
 {
  ?>
        <tr>
        <td><?php echo $row['file'] ?></td>
        <td><?php echo $row['type'] ?></td>
        <td><?php echo $row['size'] ?></td>
        <td><a href="images/add_video/<?php echo $row['file'] ?>" target="_blank">view file</a></td>
        </tr>
        <?php
 }
 ?>
</table>

Мне нужно удалить конкретную запись. Можно попробовать добавить кнопку
<input type="submit" name="delete" value='Удалить'>

И...
if (isset($_POST['delete'])){
	$query = "DELETE FROM Video WHERE id_video='$_POST[id_video]'";
	mysql_query($query);
}

Но такой способ не подходит, т.к нужно создавать поле , туда вводить Id и нажимать на кнопку
Подскажите, можно как то по другому такое реализовать?
  • Вопрос задан
  • 137 просмотров
Пригласить эксперта
Ответы на вопрос 3
profesor08
@profesor08 Куратор тега PHP
Нельзя
Ответ написан
Комментировать
sanek_os9
@sanek_os9
Работаю с Laravel, Vue, Vuetify, AWS Amazon, Linux
Добавить колонку
<td><a href="?delete=<?= $row['id_video'] ?>">[удалить]</a></td>

И обработать
if (isset($_GET['delete'])){
  $query = "DELETE FROM Video WHERE id_video='$_GET[id_video]'";
  mysql_query($query);
}

1. Функции mysql уже устарели и в новой версии PHP удалены птому что не безопасны. Используйте PDO, почитайте об этом в гугле.
2. Переденные пользователем данные всегда нужно фильтровать при использовании в запросах
if (isset($_GET['delete'])){
$id = (int) $_GET['delete'];
  $query = "DELETE FROM `Video` WHERE `id_video` = '$id' LIMIT 1";
  mysql_query($query);
}
Ответ написан
Комментировать
@vashaaa
Юх с горы
госпаде.. это сиквел с пхп в штмл. За что
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы