Считаю до трех
С нами с 23.03.05
Сообщения: 12353
Рейтинг: 2918
|
Добавлено: 31/01/06 в 17:33 |
В MySQL таблице полю с типом DATETIME присваивается текущие дата и время при сабмите следующим образом:
date("y.m.d:h.h.s") (РНР)
Это для того чтобы потом при выборке можно было сортировать по дате/времени поста.
Затем делаю выборку запросом:
"SELECT * FROM table ORDER BY `DATETIME` DESC"
Должен бы отсортировать по полю DATETIMЕ. Но выборка делается как зря. В чем я неправ?
|
|
|
|
www.awm-tools.com
С нами с 28.01.04
Сообщения: 2941
Рейтинг: 3056
|
Добавлено: 31/01/06 в 17:44 |
В таком случае лучше делать тип поля int, и класть туда значение php-функции time().
А в данной ситуации в каком порядке производится выборка при ORDER BY 'DATETIME' DESC ?
|
|
|
|
Считаю до трех
С нами с 23.03.05
Сообщения: 12353
Рейтинг: 2918
|
Добавлено: 31/01/06 в 17:45 |
В отбалдовом, логики не уловил. Но всегда в одном.
Т.е. для времени отдельное поле завести?
|
|
|
|
www.awm-tools.com
С нами с 28.01.04
Сообщения: 2941
Рейтинг: 3056
|
Добавлено: 31/01/06 в 17:52 |
EagleOwl писал: | В отбалдовом, логики не уловил. Но всегда в одном. |
Значит что-то не так в столбце DATETIME. Посмотри там значения.
EagleOwl писал: | Т.е. для времени отдельное поле завести? |
Ну у тебя есть поле DATETIME, вот им и воспользуйся. Только тип поля смени и клади в него time(). Эта функция содержит информацию о времени и дате. Выковырнуть можно с помощью функции date().
|
|
|
|
Считаю до трех
С нами с 23.03.05
Сообщения: 12353
Рейтинг: 2918
|
Добавлено: 31/01/06 в 17:54 |
Напиши пример присвоения например переменной такого значения плиз. С полным выковыриванием даты/времени.
|
|
|
|
www.awm-tools.com
С нами с 28.01.04
Сообщения: 2941
Рейтинг: 3056
|
Добавлено: 31/01/06 в 18:06 |
EagleOwl писал: | Напиши пример присвоения например переменной такого значения плиз. С полным выковыриванием даты/времени. |
Кладем значение в базу:
Код: | $time = time(); //Кладем текущее время
$info = $HTTP_POST_VARS['info'];
$query = "insert into table (time, info) values ('$time', '$info')";
|
Читаем значение из базы:
Код: | $query = "select * from table order by time desc";
$time = ...
$info = ...
$vremya = date("d.m.y H:i:s",$time);
|
|
|
|
|
Считаю до трех
С нами с 23.03.05
Сообщения: 12353
Рейтинг: 2918
|
Добавлено: 31/01/06 в 18:11 |
Спасибо. Оценил.
|
|
|
|
Считаю до трех
С нами с 23.03.05
Сообщения: 12353
Рейтинг: 2918
|
Добавлено: 31/01/06 в 18:14 |
Тип поля TIME в базе должен быть INT?
|
|
|
|
www.awm-tools.com
С нами с 28.01.04
Сообщения: 2941
Рейтинг: 3056
|
Добавлено: 31/01/06 в 18:15 |
Да.
|
|
|
|
эксклюзивщик
С нами с 08.03.05
Сообщения: 1013
Рейтинг: 512
|
Добавлено: 31/01/06 в 23:10 |
еще проще делать если ставить тип TIMESTAMP и выбрать current, тогда будет автоматом вноситься дата апдейта. Или дата создания... не помню. хм.
зы. а у тебя еще в первом посте была ошибка - date("y.m.d:h.h.s") ты вместо минут вводишь часы
|
|
уникальные предложения по съемке контента гомосексуального харрактера
|
1
|
|
|
С нами с 26.03.05
Сообщения: 119
Рейтинг: 44
|
Добавлено: 01/02/06 в 19:15 |
Тут вообще РНР-функции не нужны, все делается на чистом SQL:
Код: | CREATE TABLE `table` (
`info` varchar(255) NOT NULL default '',
`time` timestamp(14) NOT NULL
) TYPE=MyISAM;
insert into `table` set info = 'Poshli vse na huy', `time` = CURRENT_TIMESTAMP;
select * from `table` order by `time` desc;
|
И тип TIMESTAMP вовсе не обязателен. Можно спокойно делать то же самое и в DATETIME.
Код: | CREATE TABLE `table` (
`info` varchar(255) NOT NULL default '',
`time` datetime default NULL
) TYPE=MyISAM;
|
|
|
|
|
эксклюзивщик
С нами с 08.03.05
Сообщения: 1013
Рейтинг: 512
|
Добавлено: 01/02/06 в 22:35 |
Erectronic писал: | Тут вообще РНР-функции не нужны, все делается на чистом SQL:
Код: | CREATE TABLE `table` (
`info` varchar(255) NOT NULL default '',
`time` timestamp(14) NOT NULL
) TYPE=MyISAM;
insert into `table` set info = 'Poshli vse na huy', `time` = CURRENT_TIMESTAMP;
select * from `table` order by `time` desc;
|
И тип TIMESTAMP вовсе не обязателен. Можно спокойно делать то же самое и в DATETIME.
Код: | CREATE TABLE `table` (
`info` varchar(255) NOT NULL default '',
`time` datetime default NULL
) TYPE=MyISAM;
| |
ну если сделать тип TIMESTAMP то и строка `time` = CURRENT_TIMESTAMP совсем не нужна. Так удобнее ИМХО
|
|
уникальные предложения по съемке контента гомосексуального харрактера
|
1
|
|
|
С нами с 26.03.05
Сообщения: 119
Рейтинг: 44
|
Добавлено: 01/02/06 в 23:07 |
=ZeD= писал: | ну если сделать тип TIMESTAMP то и строка `time` = CURRENT_TIMESTAMP совсем не нужна. Так удобнее ИМХО |
Согласен.
Правда тут есть один нюанс. В этом случае `time` будет обновляться на текущее время при каждом запросе UPDATE.
Если такой вариант не устраивает, тогда удобнее DATETIME.
Цитата: | You can set any `TIMESTAMP' column to a value different from the current
date and time by setting it explicitly to the desired value. This is
true even for the first `TIMESTAMP' column. You can use this property
if, for example, you want a `TIMESTAMP' to be set to the current date
and time when you create a row, but not to be changed whenever the row
is updated later:
* Let MySQL set the column when the row is created. This will
initialise it to the current date and time.
* When you perform subsequent updates to other columns in the row,
set the `TIMESTAMP' column explicitly to its current value.
On the other hand, you may find it just as easy to use a `DATETIME'
column that you initialise to `NOW()' when the row is created and leave
alone for subsequent updates.
|
|
|
|
|
Считаю до трех
С нами с 23.03.05
Сообщения: 12353
Рейтинг: 2918
|
Добавлено: 03/02/06 в 15:23 |
Причину неправильной сортировки так никто и не заметил.
А я нашел ее таки. Део в том что для Date совершенно неверно задавались параметры.
Было:
date("y.m.d:h.h.s")
А НАДО-ТО:
date("Y.m.d:H.i.s")
Вот и все.
|
|
|
|
эксклюзивщик
С нами с 08.03.05
Сообщения: 1013
Рейтинг: 512
|
Добавлено: 03/02/06 в 22:05 |
врешь, я половину заметил
Цитата: | зы. а у тебя еще в первом посте была ошибка - date("y.m.d:h.h.s") ты вместо минут вводишь часы |
|
|
уникальные предложения по съемке контента гомосексуального харрактера
|
5
|
|
|
Считаю до трех
С нами с 23.03.05
Сообщения: 12353
Рейтинг: 2918
|
Добавлено: 08/02/06 в 11:32 |
=ZeD=: Ну тогда держи свой рейтинг.
|
|
|
|
www.awm-tools.com
С нами с 28.01.04
Сообщения: 2941
Рейтинг: 3056
|
Добавлено: 08/02/06 в 11:41 |
EagleOwl писал: | Причину неправильной сортировки так никто и не заметил.
А я нашел ее таки. Део в том что для Date совершенно неверно задавались параметры.
Было:
date("y.m.d:h.h.s")
А НАДО-ТО:
date("Y.m.d:H.i.s")
Вот и все. |
Гыыы... А я думал, что это ты здесь опечатался... Поэтому специально не стал поднимать эту тему...
|
|
|
|