Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Манипуляции с датами, Выбор свежих записей 
:(
    Опции темы
nicka
  Дата 2.2.2004, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 11.6.2003

Репутация: нет
Всего: 1



Допустим, у меня таблица с полем(time_enter) типа ДатаВремя, и я хочу выбрать записи, которые были введены не более часа назад.
Я себе представляю это так(для начала просто хочу увидеть результат):
Код
SELECT ('$today - time_enter) as cnt FROM persons WHERE id_per=13
,

где $today = date("Y-m-d H:i:s"); (это кусочек кода на php),
а time_enter - это поле в таблице, в котором храниться дата ввода записи

То есть должно выдать сколько секунд прошло с момента ввода записи.

Если взять конкретные цифры:
time_enter='02/02/2004 14:55:44',
$today = '2004-02-02 15:05:07',
то в результате запроса я получаю следующую цифру: -20040202143540,
которая мне лично ничего не напоминает.

Короче говоря, по-моему вопрос понятен, жду советов!
PM MAIL   Вверх
nicka
Дата 2.2.2004, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 11.6.2003

Репутация: нет
Всего: 1



Код
SELECT ('$today' - time_enter) as cnt FROM persons WHERE id_per=13


забыла кавычку поставить, чтоб не начали мне искать ошибки в коде
PM MAIL   Вверх
[xoodo]
Дата 2.2.2004, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 9.3.2003

Репутация: 1
Всего: 4



Вроде так:

SELECT * FROM table WHERE UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(time_enter)) <= 3600

3600 == 60 секунд * 60 минут. И без всяких $today'ов. Все проверки и преобразования в запросе.

И если даты хранить для последующих с ними операций, то я бы держал в базе не DATETIME, а TIMESTAMP(14). Сравни: '02/02/2004 14:55:44' и 20040202145544.

Это сообщение отредактировал(а) [xoodo] - 2.2.2004, 19:10
PM   Вверх
nicka
Дата 11.2.2004, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 378
Регистрация: 11.6.2003

Репутация: нет
Всего: 1



Да подходит, спасибо [xoodo]
PM MAIL   Вверх
Mor
Дата 11.2.2004, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 26.1.2004
Где: Nizhiy

Репутация: нет
Всего: нет



А вот как отворматировать дату с 2004-02-11 11:21:43 на 11-02-2004 11:21:43
PM MAIL WWW ICQ   Вверх
Master
Дата 11.2.2004, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1530
Регистрация: 13.5.2003
Где: Mother Russia

Репутация: 8
Всего: 10



Mor а зачем тебе понадобился еврейский вариант даты?

вообче есть функция explode - она поможет.


--------------------
Вавилон, Вавилон
Что ты построил, что разрушил?
Вавилон, Вавилон
Плавятся души дьявольским огнем.
PM WWW ICQ   Вверх
Mor
Дата 11.2.2004, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 26.1.2004
Где: Nizhiy

Репутация: нет
Всего: нет



explode -слишком мутно.
каким нибудь mktime, возможно?
PM MAIL WWW ICQ   Вверх
MuToGeN
Дата 11.2.2004, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: 7
Всего: 32



Цитата
explode -слишком мутно.
Тогда substr(), for, continue, да и в целом понятия о переменных и массивах.

ЗЫ всего и сразу не бывает


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
IZ@TOP
Дата 12.2.2004, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



MuToGeN, ты прав. пользуйтесь функцией time() совместно с функцией date()!


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Mor
Дата 12.2.2004, 07:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 26.1.2004
Где: Nizhiy

Репутация: нет
Всего: нет



Всё окозалось проще:
SELECT DATE_FORMAT(send_date, '%d-%m-%Y %h:%i:%s') AS...
Я же из мускула её тащу smile.gif

Это сообщение отредактировал(а) Mor - 12.2.2004, 07:39
PM MAIL WWW ICQ   Вверх
Dagger
Дата 15.2.2004, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Экс. модератор
Сообщений: 377
Регистрация: 4.9.2002
Где: Киев

Репутация: нет
Всего: 8



Mor, как вариант SELECT UNIX_TIMESTAMP(date) FROM blablabla..
$udate = ("m j Y h:m:s",$row[0]);
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0832 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.