cerco anima pia che mi dia un piccolo cocchio a questo script in quanto ho già popolato (con fatica) una tabella, finito il lavoro mi è venuto in mente di eliminare i record con una data precedente es tutti quelli più vecchi d due mesi dalla data odierna. ho fatto lo script ma temo a lanciarlo non vorrei rifare tutto il lavoro
grazie in anticipo
PHP:
<?php
function diminusciData($data,$meno){
$dataEx=explode(" ",$data);
//$dataEx[0] anno
//$dataEx[0] mese
//$dataEx[0] giorno
$dataEx[2]="01";//porto a 01 evito complicazioni per 30,31, 28 e 29
$dataOggi=$dataEx[0]."-".$dataEx[1]."-".$dataEx[2];//implode("-", $dataEx) NON SERVE;
$togli=$dataEx[1]-$meno;
if( $togli<1){//sone nell'anno precedente
$meseMeno=abs($dataEx[1]-$meno);//intervallo da 12
$dataEx[1]=12-$meno;//riporto a 12
$dataEx[0]=$dataEx[0]-1;// diminuisco di un anno
}else{
$dataEx[1]=$dataEx[1]-$meno; //tolgo i mesi
}
if (strlen($dataEx[1])<2){$dataEx[1]= "0".$dataEx[1];}
$dataPrec=$dataEx[0]."-".$dataEx[1]."-".$dataEx[2];//implode("-", $dataEx);
return $dataPrec;
}//fine function
$dataOggi="2008 09 30";//solo per prova
$dataMeno=3;
//$dataOggi=date("Y m d");//decommentare
//dati di test da eliminare
$dataProva=array("2008-01-25","2008-02-25","2008-03-25","2008-04-25","2008-05-25","2008-06-25","2008-07-25","2008-08-25","2008-09-25","2008-10-25","2008-11-25","2008-12-25");
echo "devo eliminare tutte le date che sono precedenti di ".$dataMeno." mesi alla data ".$dataOggi." odierna<br><br>";
$dataMinore=diminusciData($dataOggi,$dataMeno);
//ciclo di test da eliminare
for ($k=0; $k<=11;$k++){// foreach ($dataProva as $value)
if($dataProva[$k]<$dataMinore){
echo "<br> la data di prova ".$dataProva[$k]." è precedente a ".$dataMinore." quindi da eliminare";
}else{
echo "<br> la data di prova ".$dataProva[$k]." è successiva a ".$dataMinore." quindi da conservare";
}
}
//include_once "connessione.php";
//$Elimina="DELETE mia_tabella WHERE data<='".$dataMinore."'";
//$queryDel=mysql_query($Elimina);
//mysql_close();
?>
grazie in anticipo