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 :: выпадающий список [2]

 PHP.SU

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


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

> Без описания
valenok Модератор
Отправлено: 05 Июля, 2009 - 15:43:33
Post Id



Здесь могла бы быть ваша реклама


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


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




Тогда поставь пожалуйста задачу так, чтобы я её понял.
Напиши что есть, что надо получить и как ты уже пробовал


-----
Truly yours, Sasha.
 
My status
 Top
SAD
Отправлено: 05 Июля, 2009 - 15:54:34
Post Id



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


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


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




хорошо, сделаю для двух названий

база

table
id_r имя
1 qqq1
2 qqq2
id_r ключ

table1
id_k id_r date time
1 1 2009-03-03 11-00
2 2 2009-03-03 12-00
3 1 2009-04-04 09-00
4 2 2009-04-04 15-00

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

делаю выборку по time ,задаю промежуток 08-00 19-00
должно вывести записи с id_k 3 и 4, то есть поздние
если time промежуток 09-30 до 14-00 то вообще ничего

пытался делать как и ты написал, еще до тебя с помощью ORDER BY ... DESC--- глухо

(Отредактировано автором: 05 Июля, 2009 - 15:56:39)

 
 Top
valenok Модератор
Отправлено: 05 Июля, 2009 - 15:57:44
Post Id



Здесь могла бы быть ваша реклама


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


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




А почему с 9,30 по 14,00 ничего не выберет ? Есть же
Цитата:

1 1 2009-03-03 11-00
2 2 2009-03-03 12-00
А время ты как сравниваешь ?


-----
Truly yours, Sasha.
 
My status
 Top
SAD
Отправлено: 05 Июля, 2009 - 16:02:33
Post Id



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


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


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




valenok пишет:
А почему с 9,30 по 14,00 ничего не выберет ? Есть же
Цитата:

1 1 2009-03-03 11-00
2 2 2009-03-03 12-00
А время ты как сравниваешь ?



потому что те записи были раньше, они теперь поменялись, это у меня так храниться история расписания движения автобусов , то есть с 2009-03-03 автобус отправлялся в 11-00, а с 2009-04-04 он теперь отправляется в 09-00, то есть мне нужно выбирать по последней дате расписания. у меня должна храниться история расписаний
 
 Top
valenok Модератор
Отправлено: 05 Июля, 2009 - 16:09:19
Post Id



Здесь могла бы быть ваша реклама


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


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




Так ты храни время в виде 1200 = 12-00, 2330 = 23-30 и сравнивать время сразу станет проще.

SELECT * FROM `table1`, `table` WHERE `table`.`id_r`=`table1`.`id_r` AND `date`=CURDATE() AND `time` BETWEEN 1200 AND 2300


-----
Truly yours, Sasha.
 
My status
 Top
SAD
Отправлено: 05 Июля, 2009 - 16:12:26
Post Id



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


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


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




valenok пишет:
Так ты храни время в виде 1200 = 12-00, 2330 = 23-30 и сравнивать время сразу станет проще.


да у меня нет проблемы со сравниванием времени!
мне нужно выбрать последнюю запись по дате и чтобы она удовлетворяла заданному промежутку времени
(Добавление)
valenok пишет:
Так ты храни время в виде 1200 = 12-00, 2330 = 23-30 и сравнивать время сразу станет проще.

SELECT * FROM `table1`, `table` WHERE `table`.`id_r`=`table1`.`id_r` AND `date`=CURDATE() AND `time` BETWEEN 1200 AND 2300


так у меня дата там 2009-04-04 а сейчас 2009-07-05 и как мне их можно приравнивать?

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

(Отредактировано автором: 05 Июля, 2009 - 16:18:48)

 
 Top
valenok Модератор
Отправлено: 05 Июля, 2009 - 16:39:03
Post Id



Здесь могла бы быть ваша реклама


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


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




SELECT DISTINCT (`id_r`) FROM `table1` WHERE `time`... ORDER BY `date` DESC
выбирает из одной таблицы то, что нужно ?


-----
Truly yours, Sasha.
 
My status
 Top
SAD
Отправлено: 05 Июля, 2009 - 16:57:41
Post Id



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


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


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




valenok пишет:
SELECT DISTINCT (`id_r`) FROM `table1` WHERE `time`... ORDER BY `date` DESC
выбирает из одной таблицы то, что нужно ?


нет, из table имя нужно
(Добавление)
в чем прикол мы сначала выбираем а потом группируем в обратном порядке, а мне бы сгруппировать а потом отобрать
 
 Top
JustUserR
Отправлено: 05 Июля, 2009 - 18:16:05
Post Id



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


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


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




SAD Вложенный запрос исользовать?


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
SAD
Отправлено: 05 Июля, 2009 - 18:40:35
Post Id



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


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


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




я думал об этом, но не знаю как это сделать.

(Отредактировано автором: 05 Июля, 2009 - 18:42:18)

 
 Top
SAD
Отправлено: 06 Июля, 2009 - 13:47:47
Post Id



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


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


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




помогите составить запрос с подзапросом
 
 Top
valenok Модератор
Отправлено: 06 Июля, 2009 - 14:51:05
Post Id



Здесь могла бы быть ваша реклама


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


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




SELECT `name` FROM `table` WHERE `id_r` IN (SELECT DISTINCT (`id_r`) FROM `table1` WHERE `time`... ORDER BY `date` DESC)


-----
Truly yours, Sasha.
 
My status
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB