массовое удаление данных из мускулы как ?!

hudognik

Новичок
массовое удаление данных из мускулы как ?!

Никак не пому как сделать
чтобы
я выбрал при помощи <input type="checkbox" name="checkbox" value="checkbox"> то что нужно удалить и после нажатия КНОПКИ эти данные которые я выбрал были удалены
как сделать ?! подскажите, намекните :) !
 

Сергей123

Новичок
Что имеено ты не знаешь: как, имея ID-шники записей, удалить их все сразу из MySQL-таблицы или как получить сразу несколько ID-шников выбранных записей?
 

hudognik

Новичок
да да
есть куча идешников
я их выбираю
и как сразу их все удалить из MySQL !??
не думаю что здесь применяетcя AND :) или BETWEEN
 

hudognik

Новичок
ok
как тогда сформировать такой запрос ?

типа вот идет
<input type="checkbox" name="id" value="1">
<input type="checkbox" name="id" value="4">
<input type="checkbox" name="id" value="7">
вот как я понимаю я выбрал 1,4,7 на удаление,
как сделать запрос
DELETE from auth WHERE id = IN(1,4,7)
 

Сергей123

Новичок
Посмотри для начала, удаётся ли передать тебе нужные ID скрипту.
Отметь какие-то 2 checkbox'а, отправь форму и посмотри, что выведет print_r($_POST). Есть у тебя 2 нужных ID-шника?
 

ForJest

- свежая кровь
<input type="checkbox" name="id[]" value="1">
<input type="checkbox" name="id[]" value="4">
<input type="checkbox" name="id[]" value="7">
обрати внимание на [].
Дальше:
PHP:
function get_int_ids($list)
{
     $result = array();
     foreach ($list as $id)
     {
          if ((int)$id)
          {
               $result[] = (int)$id;
          } 
     } 
     return $result;
} 
////////////////////////////////////////////////////////////////////////////
var_dump($_POST);//для того чтобы поглядеть потом уберёшь.
$query = 
"DELETE FROM auth WHERE id IN (".implode(',', $get_int_ids((array)@$_POST['id'])).")";
 

Сергей123

Новичок

ForJest, эх, а у меня такое подходящее настроение было правильно поотвечать... :)


-~{}~ 26.06.05 12:06:

hudognik, в качестве упражнения тебе придётся найти одну опечатку в любезно приведённом для тебя коде, а также учесть случай, когда не выбран ни один checkbox.
 

hudognik

Новичок
Спасибо за подсказки...ошибку пока не нашел...
тут у меня теперь возникла другая проблема :)
как сделать запрос
типа SELECT * FROM people
вот чтобы после * было поле
в этом поле номер порядковый записи в таблицы !
подскажите плиз ???!

ПРИМЕР:
SELECT *,выводим номер FROM people
получаем таблицу такого вида:
Иванов | Иван | Иваныч | 1
Петров | Петр | Петрович | 2
Сидоров | Сидр | Сидорович | 3
 

Фанат

oncle terrible
Команда форума
никак.
у записи в таблице нет никакого порядкового номера.

в скрипте заведе переменную и выводи, увеличивая на 1.
 

hudognik

Новичок
ну вот я так и сделал сначала
фигня какая то произошла :)
все таки бестолковая ф мускуле функция auto_increment
в оракле все проще...тригером можно обойтись ! без всяких введений новых переменных...
ок...
пошел "мучаться" :) пробовать дальше...
 

hudognik

Новичок
я понимаю ее назначение
но мне например не нравится что при удаление данных число продолжает расти...
а если бы было например 5 записей 3 удалил, и если бы я добавлял новую запись то auto_increment делал бы следующее число 5 а не 6 !

to Frol -> сейчас попробую :)
 

SelenIT

IT-лунатик :)
hudognik
Это желание как раз и свидетельствует о непонимании назначения первичного автоинкрементного ключа)
 

hudognik

Новичок
Frol подскажи как еще правильный запрос сделать пожалуйста...
а твой способ кстати рабоатет :) спасибо !


ТО SelenIT и Фанат : по натуре че то я с дубу рухнул..щас подумал мозгами :) и понял что я ляпнул че то нето...да конечно при привязке данных при моем раскладе получится ЖОПА, а так как сейчас рабоатет функция никакой путаницы...извеняюсь...сказал раньше чем подумал...
ну просто не привычно...в вузе ораклу учат...мускула совсем другое :)

-~{}~ 26.06.05 19:13:

фу
все круто работает у меня теперь !
всем спасибо что пообщались со мной :) !
 

ForJest

- свежая кровь
Frol
Спасибо :) Как-то не подумал в эту степь - не привык я пользовать array_map/array_walk и intval тоже
 
Сверху