За последние 24 часа нас посетили 20568 программистов и 1106 роботов. Сейчас ищут 332 программиста ...

Как органзовать удаление из БД

Тема в разделе "PHP для новичков", создана пользователем Алексей Др, 5 мар 2019.

  1. Алексей Др

    Алексей Др Новичок

    С нами с:
    28 авг 2018
    Сообщения:
    36
    Симпатии:
    0
    Пытаюсь организовать удаление данных таблицы через PHP, но что-то ничего удалить не получается.
    Код выгляди так:
    Код (Text):
    1. for ($j=0;$j<count($characters);$j++){
    2.         $test=0;
    3.         for($i=1;$i<count($district);$i++ ){
    4.             if ($characters[$j]['name_ru-RU']==$district[$i][0]){$test=1;}
    5.         }
    6.         if ($test==0){mysqli_query($link,"DELETE FROM ".$extra_field_values." WHERE `name_ru-RU`=".$characters[$j]['name_ru-RU']." AND field_id=13");}else {$test=0;}
    7.     }
    $characters - массив, в котором содержатся все значения БД
    $district - Массив, где содержатся нужные значения БД (те, которых там нет, дожны быть удалены)
    $characters[$j]['name_ru-RU'] - название из таблицы $characters, по которому идет сравнение и при необходимости, удаление
    $district[$i][0] -Название из списка $district, по которому идет сравнение.
    field_id=13 - дополнительный параметр для удаления. Строки, у которых оно имеет другое значение, должны остаться невредимыми.
     
  2. Babka_Gadalka

    Babka_Gadalka Активный пользователь

    С нами с:
    16 фев 2019
    Сообщения:
    162
    Симпатии:
    23
    Адрес:
    Москва, Пушкина, Избушкина, 2й этаж душечка.
    PHP:
    1. mysqli_query ( $link, sprintf ( 'DELETE FROM %s WHERE `name_ru-RU` = "%s" AND field_id = 13', $extra_field_values, $characters[$j]['name_ru-RU'] ) );
    --- Добавлено ---
    Лучше одним запросом собери данные и познай - что такое оператор IN https://www.w3schools.com/SQl/sql_in.asp