Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boas,
Como posso fazer com que o conteúdo da tabela "message" de cada "id", seja eliminada após 3600seg..
if (isset($_GET['message'])) {
$email_body = $email['message'];
setcookie('message', base64_encode($email_body), time() + (3600), "/");
}
if (isset($_GET['del'])) {
$del = $_GET['del'];
$pdo->query("DELETE FROM `myemail` WHERE `message` = '$del'");
}
Estava aqui a tentar em relação a algo identico que tenho a isto, de ele mudar o email após 3600s..
Queria adaptar tambem as mensagens e que fosse eliminadas.
AbraçoAh já sei..
Terei que usar um Cron deste tipo, sem a criação de outro ficheiro
0 23 * * * * root /usr/bin/mysql -e "DELETE FROM myemail WHERE id < NOW() - INTERVAL 30 MINUTE"
Mas neste caso estou a utilizar SQLITE e não mysql..
Como faço a execução da "db" do SQLITE ?Hmm neste caso terei que usar algo assim
0 3 * php /path-to-your-file/file.php
Ficheiro "file.php"
<?php
@session_start();
$pdo = new PDO("sqlite:db.db");
if (isset($_GET['del'])) {
$del = $_GET['del'];
$pdo->query("DELETE FROM `myemail` WHERE `message` = '$del'");
}
?>
Certo ?
Ele irá executar sem ter que usar um botão de click ?Se o servidor for Linux você pode criar um script .sh ou .py para executar a rotina para você.
No sqlite eu não sei se tem evento, mas talvez um alternativa seria criar um..
CREATE EVENT apagaMensagem
ON SCHEDULE EVERY STARTS '2017-09-28 00:00:00'
DO
DELETE FROM myemail WHERE message = 'referencia....';Obrigadão Kinzinho..
Feito em SQLITE...
#!/usr/bin/python
import sqlite3
conn = sqlite3.connect('test.db')
print "Opened database successfully";
conn.execute("DELETE from COMPANY where ID = 2;")print "Operation done successfully";
conn.close()
Resultou na Perfeição !
Obrigado pelas Dicas
Vai precisar gerar um Cron/Event