Най-бързо триене

ExpressYourself

Registered
Как мога да изтрия записите който са са равни или повече от 2 месеца имам поле time_post което извежда записа на добавяне той е 2/6/2010 и от него да правя разлика до днес :)
 
gLaVoReZa каза:
DELETE FROM `mytable` WHERE `time_post` < (CURDATE() - INTERVAL 2 MONTH)

Полето time_post трябва задължително да е date, във формат yyyy-mm-dd.

По друг начин може ли да стане? например със time(); или аз ги записвам като 27 Януари 2010 - 00:00
 
Може да стане и по друг начин, но ще е много по-сложно и много по-бавно.

Направи си нова таблица така:

CREATE TABLE `име на таблицата` (
полета...
`time_post` timestamp NOT NULL default '0000-00-00 00:00:00',
още полета...
)

По сегашния начин хабиш много пространство в базата данни и сайта ти ще работи по-бавно, а по горния начин ще спестиш място и освен това кодът който ти написах в предишния пост ще работи.

При добавяне на запис правиш така:

INSERT INTO .... (..., time_post) VALUES(..., NOW())

Тоест на time_post му задаваш NOW() и то записва сегашното време в полето във формат ГГГГ-ММ-ДД ЧЧ:ММ:СС

Когато искаш да изкараш тази дата от базата данни и тя да се показва във формат ДД-ММ-ГГГГ ЧЧ:ММ:СС правиш следното:

$time = date('d.m.Y H:i:s', strtotime($row['time_post']));
 

Back
Горе