Автоматично изтриване на запис в базата данни!? Как?

LuBaTa

Registered
Трябва ми код който изтрива определен запис във базата данни 24 часа след създаването му..
Таблица 'table'
Поле 'example'
 
delete.php

PHP:
<?php
mysql_connect("localhost","root","password") or die(mysql_error());
mysql_select_db("database") or die(mysql_error());
mysql_query("DELETE FROM `table` WHERE `example`='neshto'") or die(mysql_error());
?>

И с cron jobs нагласяш през 24 часа да изпълнява скрипта.
Ето ти малко информация за cron jobs:

http://help.superhosting.bg/faq/20_105_bg.html

Командата в случаят ще ти е

/usr/local/bin/php /home/<your_cpanel_username>/public_html/delete.php

;)
 
А може ли направо готово да ми го дадеш защото нещо се затруднявам?
И на мен ми трябв да се изтрива 24 часа след създаването на записа...
 
Предлагам и друг вариант.

Вероятно, ако не се обърнеш към БД, няма никакво значение дали записа е там или го няма. В този случай може в началото на скрипта може да включиш нещо от рода на

mysql_query("DELETE FROM `table` WHERE ADDTIME(`create_datetime`, '24:00:00') <= NOW() ") or die(mysql_error());

Записа (записите) ще стои в БД до момента в който някой посети страницата.
 
Определено това е по-смисленото решение :?:

madmax3_ каза:
Предлагам и друг вариант.

Вероятно, ако не се обърнеш към БД, няма никакво значение дали записа е там или го няма. В този случай може в началото на скрипта може да включиш нещо от рода на

mysql_query("DELETE FROM `table` WHERE ADDTIME(`create_datetime`, '24:00:00') <= NOW() ") or die(mysql_error());

Записа (записите) ще стои в БД до момента в който някой посети страницата.
 
Значи трябва да направя поле с име: create_datetime и в него да вкарвам кога е създаден записа, слагам кода който madmax3_ даде в страницата и всичко е готово?
 
LuBaTa каза:
Значи трябва да направя поле с име: create_datetime и в него да вкарвам кога е създаден записа, слагам кода който madmax3_ даде в страницата и всичко е готово?

В общи линии - да. Полето трябва да бъде от типа DATETIME, и при въвежаднето на записа да получава стойност NOW().
 

Back
Горе