Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
Aiuto per uno script php
#1
sul mio sito volgio impletare uno script per cancellare i messaggi scritti dagli utenti da piu di 30 giorni, ho provato con questo script ma mi da errori e non mi cancella i messaggi dalla tabella messaggi. qualcuno mi puo aiutare??, posto qui il file php.

Codice PHP:
<b>Clean Old Messages</b>
<
br><br>


<?
if (
$_POST){

$tabla5 mysql_query("SELECT FROM tb_messenger ORDER BY date ASC"); // selecciono todos los registros de la tabla usuarios, ordenado por nombre
while ($registro5 mysql_fetch_array($tabla5)) { // comienza un bucle que leera todos los registros y ejecutara las ordenes que siguen

$igual=$registro5["plan"];

$prima_data=$row["date"];
$seconda_data="now";

//Todo parece correcto procedemos con la inserccion
$queryz9 "DELETE FROM tb_messenger IF "(("$seconda_data")/86400))-((int)(abs(strtotime ("$prima_data"))  > 30";
mysql_query(
$queryz9) or die(mysql_error());
}

echo "
<b>Done.</b><br><br>";

}
?>
This Button Will Clean Old Messages.
<br><br>
<form method="
post" action="../Documenti/File ricevuti/index.php?op=38">
<input type="
hidden" name="clean" value="clean">
<input type="
submit" Value="Clean" class="button">
</form>





</table> 

grazie in anticipo dell'aiuto che mi verra dato.
Cita messaggio
#2
Ti dà qualche errore?
Mattia!
Cita messaggio
#3
(24/09/2008 06:51)Mattia Ha scritto: Ti dà qualche errore?

no errori no solo che non mi cancella i messaggi dalla tabella del database
Cita messaggio
#4
Prova così:
Codice PHP:
<b>Clean Old Messages</b>
<
br /><br />
<?
php
if(isset($_POST['clean'])){
    
$data date('Y-m-d H:i:s',time()+86400*30);
    
$sql "DELETE FROM tb_messenger WHERE date>'".$data."'";
    if(
mysql_query($sql))
        echo 
"<b>Done.</b><br /><br />";
    else
        echo 
mysql_error();
}
?>
This Button Will Clean Old Messages.
<br /><br />
<form method="post" action="">
<input type="hidden" name="clean" value="clean" />
<input type="submit" value="Clean" class="button" />
</form> 

Il codice era pieno di errori, non capisco come faceva a non uscirtene neanche uno.
Mattia!
Cita messaggio
#5
(25/09/2008 18:38)Mattia Ha scritto: Prova così:
Codice PHP:
<b>Clean Old Messages</b>
<
br /><br />
<?
php
if(isset($_POST['clean'])){
    
$data date('Y-m-d H:i:s',time()+86400*30);
    
$sql "DELETE FROM tb_messenger WHERE date>'".$data."'";
    if(
mysql_query($sql))
        echo 
"<b>Done.</b><br /><br />";
    else
        echo 
mysql_error();
}
?>
This Button Will Clean Old Messages.
<br /><br />
<form method="post" action="">
<input type="hidden" name="clean" value="clean" />
<input type="submit" value="Clean" class="button" />
</form> 

Il codice era pieno di errori, non capisco come faceva a non uscirtene neanche uno.

ho provato lo script, l'unico problema che mi ha cancellato tutti i messaggi dalla tabella ache quelli + recenti, io voglio cancellare solo i messaggi con + di 30 giorni di anzianità. Che correzzione bisogna fare le date nella tabella sono informato giorno mese anno ora minuti.
Cita messaggio
#6
Di che tipo è il campo "date" della tabella "tb_messenger"?
Mattia!
Cita messaggio
#7
(27/09/2008 14:02)Mattia Ha scritto: Di che tipo è il campo "date" della tabella "tb_messenger"?

Il tipo dati nella tb_messenger e varchar(150) con formato 19-07-08 15:56[/align]
Cita messaggio
#8
Perché non hai usato il tipo DATETIME? Troppo comodo?
Codice PHP:
<b>Clean Old Messages</b>
<
br /><br />
<?
php
if(isset($_POST['clean'])){
    
$rows mysql_query("SELECT id,date FROM tb_messenger");
    while(
$r mysql_fetch_assoc($rows)){
        list(
$day,$month,$year,$hour,$minute) = sscanf($r['date'],"%d-%d-%d %d:%d");
        if(
mktime($hour,$minute,0,$month,$day,$year)>date('Y-m-d H:i:s',time()+86400*30)){
            if(!
mysql_query("DELETE FROM tb_messenger WHERE id='".$r['id']."' LIMIT 1")){
                echo 
mysql_error();
                break;
            }
        }
    }
    echo 
"<b>Done.</b><br /><br />";
}
?>
This Button Will Clean Old Messages.
<br /><br />
<form method="post" action="">
<input type="hidden" name="clean" value="clean" />
<input type="submit" value="Clean" class="button" />
</form> 
Mattia!
Cita messaggio
#9
(27/09/2008 14:23)Mattia Ha scritto: Perché non hai usato il tipo DATETIME? Troppo comodo?
Codice PHP:
<b>Clean Old Messages</b>
<
br /><br />
<?
php
if(isset($_POST['clean'])){
    
$rows mysql_query("SELECT id,date FROM tb_messenger");
    while(
$r mysql_fetch_assoc($rows)){
        list(
$day,$month,$year,$hour,$minute) = sscanf($r['date'],"%d-%d-%d %d:%d");
        if(
mktime($hour,$minute,0,$month,$day,$year)>date('Y-m-d H:i:s',time()+86400*30)){
            if(!
mysql_query("DELETE FROM tb_messenger WHERE id='".$r['id']."' LIMIT 1")){
                echo 
mysql_error();
                break;
            }
        }
    }
    echo 
"<b>Done.</b><br /><br />";
}
?>
This Button Will Clean Old Messages.
<br /><br />
<form method="post" action="">
<input type="hidden" name="clean" value="clean" />
<input type="submit" value="Clean" class="button" />
</form> 

niente da fare ho variato nella tb_messenger da varchar a datetime ma i messaggi non li cancella.
Cita messaggio
#10
Se hai cambiato il tipo del campo "date" in DATETIME, devi utilizzare il vecchio script; se lo lasci VARCHAR con il formato che hai indicato, devi utilizzare l'ultimo script.
Mattia!
Cita messaggio


Discussioni simili
Discussione Autore Risposte Letto Ultimo messaggio
  Script PHP per testare sicurezza Wifi Chandler 112 223.991 23/04/2018 18:18
Ultimo messaggio: Mattia
  shortlink con script di riconoscimento device Chandler 7 10.011 01/02/2017 16:09
Ultimo messaggio: Chandler
  script per generazione immagine da template Chandler 135 278.139 18/07/2015 08:19
Ultimo messaggio: Mattia
  estrarre script Chandler 4 11.688 22/01/2015 20:06
Ultimo messaggio: Chandler
  Script traduttore Chandler 75 171.510 21/10/2012 16:53
Ultimo messaggio: Chandler
  Erroe di parsing nell'esecuzione di uno script filippo9639 1 8.157 25/01/2009 22:09
Ultimo messaggio: Mattia
  Problemo con script per importare dati di una tabella su un altro hosting filippo9639 7 20.451 27/12/2008 17:43
Ultimo messaggio: Mattia
  Script Upload Chandler 43 102.225 10/12/2008 16:22
Ultimo messaggio: Mattia
  Errore parziale su script PHP filippo9639 12 47.336 30/11/2008 16:17
Ultimo messaggio: filippo9639
  Problema con script PHP per trasferimento tabelle dati filippo9639 10 32.012 23/11/2008 18:08
Ultimo messaggio: filippo9639

Vai al forum:


Utenti che stanno guardando questa discussione: 1 Ospite(i)