«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как правильно удалить несколько строк базы данных с помощью флажков в PHP?

Как правильно удалить несколько строк базы данных с помощью флажков в PHP?

Опубликовано 19 ноября 2024 г.
Просматривать:116

How to Properly Delete Multiple Database Rows Using Checkboxes in PHP?

Совместное удаление строк базы данных с помощью флажков в PHP

Столкнувшись с задачей очистки нескольких строк из вашей твердыни MySQL, вы искали просветления в глубинах мудрости кодирования . Приступая к очистке данных, вы, похоже, столкнулись с непреодолимым препятствием.

Написанный вами код, хотя и доблестный в своих намерениях, не может выполнить свою намеченную цель — уничтожение строк. Будучи преисполнены решимости преодолеть это препятствие, вы ищете совета, представляя свой код уважаемому сообществу программистов:

// PHP witchcraft to connect to MySQL
$dbc = mysqli_connect('localhost', 'root', 'admin', 'sample') or die('MySQL is out to get you!');
$query = "select * from links ORDER BY link_id";
$result = mysqli_query($dbc, $query) or die('Whoops! Query went awry!');
$count = mysqli_num_rows($result);
// Assemble your army of checkboxes
while ($row = mysqli_fetch_array($result)) {
    echo 
    
    $row[link_id]
    $row[link_name]
    $row[link_url]

HTML;
}
// The arsenal of deletion awaits your command
if (isset($_POST['delete'])) {
    // Retrieve your checked victims
    $checkbox = $_POST['checkbox'];

    // Summon the wrath of deletion upon each victim
    foreach ($checkbox as $del_id) {
        $sql = "DELETE FROM links WHERE link_id='$del_id'";
        // Unleash the purging power!
        $result = mysqli_query($dbc, $sql);
    }

    // If successful, redirect to the crime scene
    if ($result) {
        echo '';
    }
}

Решение мудреца

Увы, ваш код дает сбой из-за нескольких критических недочетов:

  1. Массив или одиночный: Введенный вами флажок в тегах отсутствует суффикс [], позволяющий рассматривать их как массив. Без этого PHP не сможет правильно распознать множественный выбор. Используйте name="checkbox[]".
  2. Вызов базы данных: В строке выполнения запроса отсутствовала переменная подключения. Это должно быть $result = mysqli_query($dbc, $sql);.

С этими исправлениями ваш код будет удалять строки, как цифровой волшебник. Приступайте к очистке данных с новой уверенностью!

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3