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]   

> Описание: выборка при помощи массива
eramar
Отправлено: 17 Августа, 2011 - 12:35:24
Post Id


Новичок


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


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




Скажите, пожалуйста, можно ли сделать такую выборку, и если да, то как ?
таблица: user_zapis.
ее поля: text (char), realise(DATETIME), user_id (int)
$query2 = mysql_query("select text from user_zapis where DATE(realise)='$old_zapis[]' and user_id='$id'");

'$old_zapis[]' - это массив с датами формата "2011-08-17".
Мне нужно получить все "text" у которого realise равно любому элемента массива $old_zapis

Можно ли это сделать? Подскажите, пожалуйста, как.
И еще вопрос если я использую DATE() у меня отсекуться часы,минуты,секунды и будет делаться выборка только в форме год-месяц-число, так ?
 
 Top
EuGen Администратор
Отправлено: 17 Августа, 2011 - 12:38:16
Post Id


Профессионал


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


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




Используйте IN - например,
realise IN ('foo', 'bar')
По поводу DATE - верно, останется только дата.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
SAD Модератор
Отправлено: 17 Августа, 2011 - 12:38:56
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


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




PHP:
скопировать код в буфер обмена
  1. $query2 = mysql_query("select text from user_zapis where DATE(realise) in ('". join($old_zapis, ',') . ") and user_id='$id'");
 
 Top
eramar
Отправлено: 18 Августа, 2011 - 10:55:39
Post Id


Новичок


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


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




SAD пишет:
$query2 = mysql_query("select text from user_zapis where DATE(realise) in ('". join($old_zapis, ',') . ") and user_id='$id'");


почему-то не работает конструкция in ('". join($old_zapis, ',') . ")

print_r ( $old_zapis) выдает вот что :
Array ( [0] => 2011-08-17 [1] => 2011-08-17 [2] => 2011-08-16 [3] => 2011-08-16 [4] => 2011-08-16 [5] => 2011-08-16 [6] => 2011-08-16 [7] => 2011-08-16)

в базе есть:
2011-08-16 09:57:18
2011-08-16 10:06:54
2011-08-16 10:10:19
2011-08-16 10:10:31
2011-08-16 10:12:58
2011-08-16 10:17:35
2011-08-16 10:25:00

но выборку конструкция in ('". join($old_zapis, ',') . ") почему-то не далает Недовольство, огорчение Помогите, пожалуйста.
 
 Top
SAD Модератор
Отправлено: 18 Августа, 2011 - 12:14:55
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


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




PHP:
скопировать код в буфер обмена
  1. $query2 = mysql_query("select text from user_zapis where DATE(realise) in (". join($old_zapis, ',') . ") and user_id='$id'");
 
 Top
eramar
Отправлено: 18 Августа, 2011 - 12:18:02
Post Id


Новичок


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


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




блин, все равно не работает Недовольство, огорчение
(Добавление)
Если сделать просто:
CODE (htmlphp):
скопировать код в буфер обмена
  1. $query2 = mysql_query("select text from user_zapis where DATE(realise)= '2011-08-16' and user_id='$id'");


то делает выборку, а из массива никак Недовольство, огорчение
 
 Top
SAD Модератор
Отправлено: 18 Августа, 2011 - 12:34:59
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


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




PHP:
скопировать код в буфер обмена
  1.  
  2. $listD = join($old_zapis, "', '");
  3. $query2 = mysql_query("select text from user_zapis where DATE(realise) in ('{$listD}') and user_id='$id'");


или

PHP:
скопировать код в буфер обмена
  1.  
  2. $query2 = mysql_query("select text from user_zapis where DATE(realise) in ({$listD}) and user_id='$id'");
 
 Top
eramar
Отправлено: 18 Августа, 2011 - 12:40:34
Post Id


Новичок


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


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




CODE (htmlphp):
скопировать код в буфер обмена
  1. $query2 = mysql_query("select text from user_zapis where DATE(realise) in ('". join($old_zapis, '","') . "') and user_id='$id'");
  2. while ($res2=mysql_fetch_assoc($query2))
  3. {
  4.         echo $res2['text'];?>
  5.         <hr>
  6.         <?php
  7. }
  8. ?>


не работает... Огорчение


сейчас попробую Улыбка

(Отредактировано автором: 18 Августа, 2011 - 12:43:05)

 
 Top
SAD Модератор
Отправлено: 18 Августа, 2011 - 12:42:40
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


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




я ж определил ее)
 
 Top
eramar
Отправлено: 18 Августа, 2011 - 12:45:01
Post Id


Новичок


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


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




ура! получилось!
 
 Top
SAD Модератор
Отправлено: 18 Августа, 2011 - 12:45:15
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


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




каким способом?
 
 Top
eramar
Отправлено: 18 Августа, 2011 - 12:54:07
Post Id


Новичок


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


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




CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. $listD = join($old_zapis, "', '");
  3. $query2 = mysql_query("select text from user_zapis where DATE(realise) in ('{$listD}') and user_id='$id'");

вот так работает
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB