Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: select мультивыбор + insert в бд

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
ridvik
Отправлено: 08 Июля, 2013 - 15:15:36
Post Id


Частый гость


Покинул форум
Сообщений всего: 244
Дата рег-ции: Нояб. 2011  


Помог: 0 раз(а)

[+]


Добрый вечер. Столкнулся с проблемой, которую не знаю ак решить и даже в какую сторону копать. Заключается в том, что я в селект получаю список всех пользователей сайта. Мультивыбором отмечаю нужных и нажимаю сабмит(запись в бд). Вот тут то я и столкнулся с проблемой. как мне сделать так, что бы в бд строчка создавалась для каждого?? То есть у меня сейчас получается вроде для последнего, а это строчка должна создаваться для каждого. Как мне это реализовать??
 
 Top
DeepVarvar Супермодератор
Отправлено: 08 Июля, 2013 - 15:32:01
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Предположим, что параметры будут в $_GET['users'][].
Предположим, что в этом массиве только айдишники пользователей.
Предположим, что таблица будет tbl.
Предположим, что записывать надо только айдишники.
Тогда:
PHP:
скопировать код в буфер обмена
  1. $users = $_GET['users'];
  2. if (!is_array($users)) {
  3.   exit("Не то..");
  4. }
  5. if ($users) {
  6.   foreach ($users as $user) {
  7.     if (is_array($user) or !preg_match("/^[1-9]\d*$/", $user)) {
  8.       exit("Опять не то..");
  9.     }
  10.   }
  11.   $users = "(" . join("), (", $users) . ");";
  12.   exit("INSERT INTO tbl (user_id) VALUES {$users}");
  13. } else {
  14.   exit("Некого записывать..");
  15. }
 
 Top
AlexAnder
Отправлено: 08 Июля, 2013 - 15:35:09
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 915
Дата рег-ции: Авг. 2012  
Откуда: Россия


Помог: 34 раз(а)







DeepVarvar пишет:
Одинарные!

Однако


-----
Оказывается, недостаточно читать справочники, чтобы правильно писать коды. sadex ©

Форумы стали местом обучения программированию, а не решения трудных вопросов. KingStar ©
 
 Top
DeepVarvar Супермодератор
Отправлено: 08 Июля, 2013 - 15:36:36
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Подколол?
Если вопрос касается SQL - у меня всегда двойные.
И да - мне по статусу можно, у меня на таких кавычках целая цмс работает Радость
 
 Top
AlexAnder
Отправлено: 08 Июля, 2013 - 15:41:43
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 915
Дата рег-ции: Авг. 2012  
Откуда: Россия


Помог: 34 раз(а)





Цитата:
Подколол?

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


Цитата:
Если вопрос касается SQL - у меня всегда двойные.

теперь понятно Улыбка

(Отредактировано автором: 08 Июля, 2013 - 16:16:03)



-----
Оказывается, недостаточно читать справочники, чтобы правильно писать коды. sadex ©

Форумы стали местом обучения программированию, а не решения трудных вопросов. KingStar ©
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB