Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как правильно оргаизовать вывод / 12 сообщений из 12, страница 1 из 1
15.10.2014, 12:25:46
    #38777149
midnight_r
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно оргаизовать вывод
Всем доброго времени суток.
Есть таблица примерно следущего содержимого:
date;string
12.12.2014;запись1
12.12.2014;запись2
12.12.2014;запись3
12.12.2014;запись4
12.12.2014;запись5
12.12.2014;запись6
12.12.2014;запись7
13.12.2014;запись8
13.12.2014;запись9
13.12.2014;запись10
13.12.2014;запись11
13.12.2014;запись12
13.12.2014;запись13
13.12.2014;запись14
14.12.2014;запись15
14.12.2014;запись16
14.12.2014;запись17
14.12.2014;запись18
14.12.2014;запись19

как правильно написать запрос, чтобы на страницу вывелось примерно вот так:

12.12.2014
запись1
запись2
запись3
запись4
запись5
запись6
запись7
13.12.2014
запись8
запись9
запись10
запись11
запись12
запись13
запись14
14.12.2014
запись15
запись16
запись17
запись18
запись19

всю голову сломал уже, помогите
...
Рейтинг: 0 / 0
15.10.2014, 12:27:51
    #38777154
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно оргаизовать вывод
Код: sql
1.
SELECT date, string FROM mytable ORDER BY date, string
...
Рейтинг: 0 / 0
15.10.2014, 12:58:09
    #38777213
midnight_r
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно оргаизовать вывод
miksoft,

у меня дата хранится в timestamp формате вот такого вида 1412497200 вот такой код выводит только записи title, а вот дату никак
Код: php
1.
2.
3.
4.
$res = mysql_query("SELECT FROM_UNIXTIME(public, '%Y %D %M'), title FROM ".$basepref."_news order by public, title");
while($row = mysql_fetch_array($res)) {
	  echo $row['public'] . $row['title'] . "< br >";
	  }


может не так преобразовываю дату?
...
Рейтинг: 0 / 0
15.10.2014, 13:01:32
    #38777219
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно оргаизовать вывод
midnight_r
Код: php
1.
$row['public']

Так у вас нет такого поля в результатах запроса.
Назначьте первому полю в SELECT-е алиас и используйте его имя при чтении выборки.
...
Рейтинг: 0 / 0
15.10.2014, 13:06:06
    #38777233
midnight_r
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно оргаизовать вывод
miksoft,

точно! но результат выглядит не так как хотелось бы, т.е. вот так
12.12.2014запись1
12.12.2014запись2
12.12.2014запись3
...

а надо вот так:
12.12.2014
запись1
запись2
запись3
запись4
запись5
запись6
запись7
13.12.2014
запись8
запись9
запись10
запись11
запись12
запись13
запись14
14.12.2014
запись15
запись16
запись17
запись18
запись19

т.е. сначала шла дата,потом записи соответствующие этой дате ну и т.д.
...
Рейтинг: 0 / 0
15.10.2014, 13:13:45
    #38777249
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно оргаизовать вывод
midnight_rрезультат выглядит не так как хотелось быЭто уже задача PHP-кода. Добавьте переменную и храните в ней дату из предыдущей строки. Если дата сменилась - выводим ее.
...
Рейтинг: 0 / 0
15.10.2014, 13:16:40
    #38777254
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно оргаизовать вывод
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
select output
from
(
select date, date as output
from table
union all
select date, string
from table
)
order by date, date=output desc
...
Рейтинг: 0 / 0
15.10.2014, 13:22:41
    #38777267
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно оргаизовать вывод
Akina
Код: sql
1.
date=output

А вдруг в title прилетит что-нибудь такое?
Если уж городить такой запрос, то, имхо, с отдельным полем.
...
Рейтинг: 0 / 0
15.10.2014, 13:47:11
    #38777322
midnight_r
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно оргаизовать вывод
что-то ничего не возвращает:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
$res = mysql_query("SELECT out1 from (select FROM_UNIXTIME(public, '%d.%m.%Y'), FROM_UNIXTIME(public, '%d.%m.%Y') 
as out1 FROM ".$basepref."_news union all 
select FROM_UNIXTIME(public, '%d.%m.%Y'), title FROM ".$basepref."_news)
order by public, public=out1 desc");

while($row = mysql_fetch_array($res)) {
	  echo $row['out1'] . "  " . $row['dat'] . "  " . $row['title'] . "< br >";
	  }
...
Рейтинг: 0 / 0
15.10.2014, 13:50:34
    #38777327
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно оргаизовать вывод
midnight_r,

Вы опять про алиасы забыли.
А еще вы не проверяете результат выполнения запроса не предмет ошибок.
...
Рейтинг: 0 / 0
15.10.2014, 14:27:36
    #38777404
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно оргаизовать вывод
miksoftЕсли уж городить такой запрос, то, имхо, с отдельным полем.А он и есть с отдельным. Просто это поле заполняется значением date.
Лениво мне было измышлять что-то более универсальное.
...
Рейтинг: 0 / 0
15.10.2014, 14:32:00
    #38777414
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как правильно оргаизовать вывод
AkinamiksoftЕсли уж городить такой запрос, то, имхо, с отдельным полем.А он и есть с отдельным. Просто это поле заполняется значением date.
Лениво мне было измышлять что-то более универсальное.Не, совсем с отдельным.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT output
FROM
(
SELECT 2 src, date, title output from mytable
UNION ALL
SELECT 1, date, date from mytable
) t
ORDER BY t.date, t.src, t.output
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как правильно оргаизовать вывод / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]