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 :: Помогите правильно составить запрос

 PHP.SU

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


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

> Без описания
by_hunterr
Отправлено: 15 Мая, 2012 - 14:16:39
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Апр. 2012  


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




следующая проблема, запрос добавляет только одну строку, а если их больше то ошибку выдает, мол строк слишком много, можно как нибудь зациклить запрос?
PHP:
скопировать код в буфер обмена
  1.  
  2. $query_aktiv = "INSERT INTO aktiv (grupa, date, fio_student) VALUES ('".$UserGROUP."', '".$date."', (SELECT fio_student from students where `grupa`='$UserGROUP')) ";

(Отредактировано автором: 15 Мая, 2012 - 15:04:16)

 
 Top
Данил_123
Отправлено: 15 Мая, 2012 - 15:07:57
Post Id


Участник


Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011  
Откуда: rostov


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




while, for, do while и так далее..


-----
http://mysitecost.ru
 
 Top
Viper
Отправлено: 15 Мая, 2012 - 15:30:13
Post Id



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


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




by_hunterr пишет:
то ошибку выдает, мол строк слишком много
ошибку точно приведите.
SELECT внутри INSERT точно возвращает то что вы ожидаете?


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
by_hunterr
Отправлено: 15 Мая, 2012 - 15:41:03
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Апр. 2012  


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




CODE (htmlphp):
скопировать код в буфер обмена
  1. Subquery returns more than 1 row
 
 Top
Viper
Отправлено: 15 Мая, 2012 - 15:57:51
Post Id



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


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




by_hunterr что и требовалось доказать. Ваш SELECT возвращает несколько строк. Если вам нужно вставить данные для разны $UserGROUP сначала делаете SELECT, проходитесь циклом по массиву и внутри подставляете в INSERT данные из массива.

PHP:
скопировать код в буфер обмена
  1. $query = mysql_query("SELECT `fio_student` FROM `students` WHERE `grupa`= '".$UserGROUP."'");
  2.  
  3. while ($row = mysql_fetch_assoc($query)) {
  4.         mysql_query("INSERT INTO `aktiv` (grupa, date, fio_student) VALUES ('".$UserGROUP."', '".$date."', '".$row['fio_student']."')");
  5. }


как-то так. Код не проверял.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
by_hunterr
Отправлено: 15 Мая, 2012 - 16:01:37
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Апр. 2012  


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




Viper ошибочка там
вот так все заработало:
CODE (htmlphp):
скопировать код в буфер обмена
  1.   $query_aktiv = "INSERT INTO aktiv (grupa, date, fio_student) SELECT   '".$UserGROUP."', '".$date."', fio_student from students where `grupa`='$UserGROUP'";
  2.  
 
 Top
DeepVarvar Супермодератор
Отправлено: 15 Мая, 2012 - 16:09:23
Post Id



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


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


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




by_hunterr, типа так, вам сказали что кол-во выбираемых полей не совпадает.
Принцип как у UNION.

Viper, лишние движения, пример ниже:
CODE (SQL):
скопировать код в буфер обмена
  1. INSERT INTO tbl1 (f1, f2, f3, f4)
  2.   /* не хватает полей? ну так добавьте */
  3.   SELECT (NULL) appendix1, name, morevalue, ('хальдаба') appendix2
  4.   FROM tbl2 WHERE xxx = 'yyy'
 
 Top
Viper
Отправлено: 15 Мая, 2012 - 16:13:46
Post Id



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


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




DeepVarvar писал исходя из первого поста.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
by_hunterr
Отправлено: 15 Мая, 2012 - 17:05:25
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Апр. 2012  


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




еще вот такой вопрос
при выполнении этого запроса:
PHP:
скопировать код в буфер обмена
  1. $query = "INSERT INTO plan (grupa, date, type, tema) VALUES ('".$UserGROUP."', '".$date."', '".$type."', '".$tema."');";

в столбец id_mer записывается автоматически значение автоинкрементом
можно ли как нибудь сразу же засунуть его в переменную или как нибудь по-другому использовать в следующем запросе:
PHP:
скопировать код в буфер обмена
  1. $query_aktiv = "INSERT INTO aktiv (grupa, date, fio_student) SELECT   '".$UserGROUP."', '".$date."', fio_student from students where `grupa`='$UserGROUP'";

а то это поле очень нужно в таблице aktiv
 
 Top
denis.n.ko
Отправлено: 15 Мая, 2012 - 17:13:03
Post Id



Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Май 2012  


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




mysql_insert_id - думаю то что ты ищешь! Улыбка

http://php.su/functions/?mysql-insert-id
 
 Top
by_hunterr
Отправлено: 15 Мая, 2012 - 17:18:07
Post Id


Новичок


Покинул форум
Сообщений всего: 16
Дата рег-ции: Апр. 2012  


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




denis.n.ko пишет:
mysql_insert_id - думаю то что ты ищешь! Улыбка

http://php.su/functions/?mysql-insert-id

именно это мне и нужно) спасибо)
 
 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