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 137.901 23-04-2018, 18:18
Ultimo messaggio: Mattia
  shortlink con script di riconoscimento device Chandler 7 5.897 01-02-2017, 16:09
Ultimo messaggio: Chandler
  script per generazione immagine da template Chandler 135 157.447 18-07-2015, 08:19
Ultimo messaggio: Mattia
  estrarre script Chandler 4 8.563 22-01-2015, 20:06
Ultimo messaggio: Chandler
  Script traduttore Chandler 75 105.699 21-10-2012, 16:53
Ultimo messaggio: Chandler
  Erroe di parsing nell'esecuzione di uno script filippo9639 1 5.836 25-01-2009, 22:09
Ultimo messaggio: Mattia
  Problemo con script per importare dati di una tabella su un altro hosting filippo9639 7 13.264 27-12-2008, 17:43
Ultimo messaggio: Mattia
  Script Upload Chandler 43 57.806 10-12-2008, 16:22
Ultimo messaggio: Mattia
  Errore parziale su script PHP filippo9639 12 23.285 30-11-2008, 16:17
Ultimo messaggio: filippo9639
  Problema con script PHP per trasferimento tabelle dati filippo9639 10 20.844 23-11-2008, 18:08
Ultimo messaggio: filippo9639

Vai al forum:


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