Въпрос за време и дата

Radit0

Registered
Здравейте,
имам таблица "obqva" и в нея има "date" и "exdate"
в "date" се записва датата на побликуване а в "exdate" искам да се запише датата на която ще изтече обявата.
Искам всяка обява да е валидна 7 дена, какви трябва да са типовете на редовете в таблицата (int,date или какво).
Можете ли да ми дадете два скрипта, с които да записвам днешната дата и датата която ще е след 7 дена, другиа скрипт ако днес е 7-мия ден да се изтрие обявата?
 
Тип DATE - записва ГОДИНА-МЕСЕЦ-ДЕН

Код:
$start = date("Y-m-d");
$end = date("Y-m-d",strtotime("+7 days"));

Първото записваш в "date", второто в "exdate".
 
Мерси.
А какъв е скрипта ако днес е 7-мия ден да изтрива ?
и може ли да се направи d-m-Y проблем ли ще е ?
 
Би трябвало да не е проблем, а за истриването ще е нещо такова:
Код:
$id = $_GET['id'];
$zav = mysql_query("SELECT * FROM tablica WHERE id='$id'") or die(mysql_error());
$za = mysql_fetch_array($zav);
$krais = $za['exdate'];
$time = date("Y-m-d");
if ($time > $krais){
$updatee = mysql_query("DELETE FROM tablica where id = '$id' ");
}
 
out това автоматично ли действа или трябва да се влезе в страница с id-то ???

бтв как ще стане само с date без exdate ??? тоест в тоя код дет си дал да се добавят 7 дни и на 7-мия да се дел??
 
Ем няма как само с едно поле да стане . А това дали е авотматично да автоматично е просто това е като се влезе в истекла обява да се трие а ако исакш без да се влиза да се трие махаш WHERE id = $Id и си готов :)


$zav = mysql_query("SELECT * FROM tablica ") or die(mysql_error());
while ($za = mysql_fetch_array($zav)) {
$krais = $za['exdate'];
$time = date("Y-m-d");
$id = $za['id'];
if ($time > $krais){
$updatee = mysql_query("DELETE FROM tablica where id = '$id' ");
}
}
 
Radit0 каза:
Мерси.
А какъв е скрипта ако днес е 7-мия ден да изтрива ?
и може ли да се направи d-m-Y проблем ли ще е ?
Не може, mysql го иска в такъв формат ако ще ползваш тип DATE.
Не знам защо ти е в друг формат. Предполагам, че искаш да я показваш в самата обява, но си има начин да смениш формата при самото показване.
echo date("d/m/Y",strtotime($zapis_na_data_ot_database));
Така ще ти го покаже ден/месец/година.
Кодът за триене ако ползваш DATE ще е един ред :)
<?php mysql_query("delete from `obqva` where `exdate` = CURDATE() "); ?>
Записваш го в отделен файл и го пускаш през Cron Jobs, като го нагласяш да се изпълнява всеки ден в 23:59 часа.
Естествено може да ползваш поле тип int и php функцията time(), даже varchar и text, но на мен date ми харесва, затова ти предложих него.

0u7 няма нужда от толкова заявки и те да се изпълняват при всяко посещение.
 
ехееее то с дате колко неща трея се напраят бе ...

човек сложи си полето в mysql на varchar бачка при мене е така ;)

и кода на 0u7 работи може да си направиш един файл clean.php и от време на време да го отваряш да ти маха от бг всички изтекли ;)
 

Back
Горе