След 15 дена изчистване на поле

HaCkErChE

Registered
Как да направя например след 15 дена да се изчисти поле от база данни
става въпрос за вип акаунт като пратиш смс то прави полето vip 1 и как след 15 дена да стане пак 0
 
дай структурата на таблица с потребителите, и направи едно поленце, което да се казва settime да речем :) като дадеш структурата ще ти напиша кода..
 
`email` varchar(255) NOT NULL,
`name` varchar(255) NOT NULL,
`pass` varchar(255) NOT NULL,
`timestamp` text NOT NULL,
`id` int(255) NOT NULL,
`ip` varchar(255) NOT NULL,
`accbank` varchar(255) NOT NULL default '0',
`vip` varchar(255) NOT NULL default '0',
`settime` varchar(255) NOT NULL
 
Така ето това е кода :

Код:
<?
$query=mysql_query("SELECT * FROM `tablica` WHERE `name` = '$logged[username]'") or die(mysql_error());
$row=mysql_fetch_array($query);
$settime=$row['settime']+3600*360;
$time=time();

if ($settime >= $time)
{
$up=mysql_query("UPDATE `table` SET `vip` = '0', `settime` = '0' WHERE `name` = '$logged[username]'") or die(mysql_error());
}
else
{
//Друго ... 
}
?>

Намести си там $logged[username] си го направи на променливата, която садържа името на логнатия потребител там и `table` замести с таблицата си.. и сега в файла от който се става вип, сложи една променлива $time=time(); и добавяй в полето `settime` тази променлива ..
 
1-во направи си полето което е дата на активиране на ВИП в date/time формат и там записвай точната дата и час на вип след което проста заявка
Код:
$sSQL="update TABLE set vip=0 where unix_timestamp(date_add(pole_s_data, interval 15 day)) <=unix_timestamp(now())";

$db->execute($sSQL);
 
но ако смяташ да изпозваш различни номера на смс със различна vip дължина, по добре
1. Направи поле отново date/time в което записвай ДО кога е този vip.
и слагай на рефреш тази заявка

Код:
$sSQL="update TABLE set vip=0 where unix_timestamp(pole_s_data)<=unix_timestamp(now())";
 

Back
Горе