Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.07.2011, 11:15   #1
frommars
Форумчанин
 
Регистрация: 02.07.2011
Сообщений: 144
По умолчанию вывести из бд по датам

что то не могу сообразить
формат БД:
Код:
`ip` varchar(15) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`cn` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`d` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`date` date NOT NULL
дата пишется как обычно
PHP код:
$date gmdate("Y-m-d"); 
вот что мне надо:
выводить из базы по датам, например
Цитата:
2011-07-01
пример1
пример2
пример3
2011-07-02
пример4
2011-07-04
пример5
дальше
Код:
SELECT FROM `table` WHERE `date` DATE...
дело не ушло...
прошу помочь советом
frommars вне форума Ответить с цитированием
Старый 04.07.2011, 12:56   #2
mrgrudge
Форумчанин
 
Аватар для mrgrudge
 
Регистрация: 20.02.2010
Сообщений: 229
По умолчанию

SELECT field1,filed2 FROM table ORDER BY date DESC

результат скрипта пишите в массив, после перебираете его циклом.
Или задача состоит в чем то ином?)
думай как баг, действуй как баг, и ты найдешь баг )
mrgrudge вне форума Ответить с цитированием
Старый 04.07.2011, 13:35   #3
frommars
Форумчанин
 
Регистрация: 02.07.2011
Сообщений: 144
По умолчанию

как вы написали, это понятно что отсортировать по дате с наименьшего, и используя тот же while вывести... а я не могу сообразить как правильно сделать что бы под датой группировались записи за одно число... не хочется if'ы и другие переменные лепить... хотя всё же склоняюсь что другого выхода нет
frommars вне форума Ответить с цитированием
Старый 04.07.2011, 14:01   #4
graymaster
Форумчанин
 
Аватар для graymaster
 
Регистрация: 03.05.2011
Сообщений: 158
По умолчанию

Придётся-таки завести ещё 1 переменную, там же, в цикле. Инициализировать её в 0 до цикла. Потом в цикле делать такую проверку - если переменная равна дате, то не выводить дату, если не равна - вывести дату и приравнять к ней переменную.
Записи выводить в любом случае.
В этом случае дата быдет выводиться только тогда, когда она изменяется, т.е. получится, что у вас записи будут "группироваться" по дням.

как-то так:
PHP код:
$ndate='';
while (
$row=mysql_fetch_assoc($q_ret)) {
$date gmdate("Y-m-d",$row['date']);
if (
$ndate!=$date) {
echo 
$date."<br/>";
$ndate=$date;
}
echo 
$row['record']."<br/>";

** писал на коленке, только для примера. Прошу извинить за возможные опечатки и/или ошибки.

Последний раз редактировалось graymaster; 04.07.2011 в 14:05.
graymaster вне форума Ответить с цитированием
Старый 04.07.2011, 14:06   #5
frommars
Форумчанин
 
Регистрация: 02.07.2011
Сообщений: 144
По умолчанию

Цитата:
Сообщение от graymaster Посмотреть сообщение
Придётся-таки завести ещё 1 переменную, там же, в цикле. Инициализировать её в 0 до цикла. Потом в цикле делать такую проверку - если переменная равна дате, то не выводить дату, если не равна - вывести дату и приравнять к ней переменную.
Записи выводить в любом случае.
В этом случае дата быдет выводиться только тогда, когда она изменяется, т.е. получится, что у вас записи будут "группироваться" по дням.
я это выше и описал... я думал может быть есть более "красивый" способ.
ну раз ни кто ни чего не подсказал - пусть будет так.
frommars вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Суммирование по датам sakabula Microsoft Office Excel 3 15.03.2010 01:45
Вопрос по датам PARTOS Microsoft Office Excel 2 24.12.2009 11:46
Фильтрация по датам Shpon Microsoft Office Excel 2 12.10.2009 16:53
выборка по датам Screame Microsoft Office Excel 8 15.07.2009 23:22