Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> удалить из базы скопом записи, данные из чекбоксов 
V
    Опции темы
dstorm81
Дата 10.7.2008, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: нет
Всего: 39



небольшой вопрос по оптимизации

есть группа чекбоксов, которые отмечают записи на удаление
они приходят массивом через пост
и удаляют из базы записи через ЦИКЛ
то есть многократно выполняются запросы к базе

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

конечно можно самому построить строку с AND-ами и засунуть в запрос, но хотелось узнать может есть какое решение средствами самой mysql



пхп5
мускуль 5
(каскад в данном случае не поможет, так как таблица главная)


--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
Kesh
Дата 10.7.2008, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 15
Всего: 54



Не-а... нету... Правда действительно все делать одним запросом... Тут уж как вам больше нравится, либо с ...OR..., либо с IN (...)


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
Feldmarschall
Дата 10.7.2008, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 3
Всего: 32



Цитата(dstorm81 @  10.7.2008,  11:00 Найти цитируемый пост)
онечно можно самому построить строку с AND-ами

и как ты себе это представляешь?
чтобы бд удалила строку, у которой id равен и одному и пятнадцати? 

непонятен вопрос про "средства самой sql". что именно она должна "мочь"? узнать у формы, какие в ней были чекбоксы отмечены?
PM   Вверх
dstorm81
Дата 10.7.2008, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


бездельник
***


Профиль
Группа: Завсегдатай
Сообщений: 1178
Регистрация: 18.1.2006
Где: (16RU)

Репутация: нет
Всего: 39



Feldmarschall не ругайте строго моя пока плохо разбираетсо


Цитата(Feldmarschall @  10.7.2008,  14:57 Найти цитируемый пост)

чтобы бд удалила строку, у которой id равен и одному и пятнадцати? 

вот так я и предполагал, но судя по вашему тону я жестко ошибся

Цитата(Feldmarschall @  10.7.2008,  14:57 Найти цитируемый пост)

средства самой sql". что именно она должна "мочь"? узнать у формы, какие в ней были чекбоксы отмечены?


чтобы примерно так
DELETE FROM `themes`WHERE `id`=POST['семейство чекбоксов'];

 мускуль удалил бы темы с номерами 1, 6, 8, 44








--------------------
на форуме с 8.12.2002 (http://forum.vingrad.ru/index.php?act=ST&f=10&t=4874&st=0#)

PM   Вверх
Feldmarschall
Дата 10.7.2008, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 3
Всего: 32



я не ругаюсь, я спрашиваю.
при чем здесь тон?
ты сам, просто глядя на строку, разве не видишь, что она не удовлетворяет условию "id одновременно и 1 и 15"?
у строки ведь только 1 id!


Цитата(dstorm81 @  10.7.2008,  15:22 Найти цитируемый пост)
чтобы примерно так
DELETE FROM `themes`WHERE `id`=POST['семейство чекбоксов'];

То есть, ты хочешь, чтобы SQL понимала переменные РНР? Нет, таких встроенных средств нету.
SQL запрос - это строка. И надо просто эту строку составить. Это несложно.

PM   Вверх
Kesh
Дата 10.7.2008, 16:38 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 15
Всего: 54



Тебе надо составлять запрос самому...

DELETE FROM table WHERE id IN ( и тут перечисляешь ).


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0450 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.