Mam pewnien skrypt usuwający rekordy z bazy jeśli spełniają pewien warunek. I mam pewien błąd.
Otóż gdy mam 2 takie same rekordy różniące się tylko datą to usuwa oby dwa. A gdy ten sam jest nie spełniający warunku to nie usunie.
Przykład
stannadawca = 0 i $stanadresat = 0
620 > 259200
Warunek nie spełniony
stannadawca = 0 i $stanadresat = 0
620000 > 259200
Warunek spełniony
Ale i tak usunie oby dwa rekordy.
Jaki mam błąd w poniższym kodzie co powinienem dodać.
<?php include("polacz.php");
include ('glowne/gora.php');
include("zabezpieczenie.php");
$query = mysql_query("select * from poczta order by id desc"); {
$dodano = $rekord[6];
$data1 = date('d-m-Y G:i:s'); $data2 = $dodano;
$min = floor($roznica / 60
); $sec = $roznica-($min*60);
$min = $min-($h*60);
$h = $h-($dni*24);
$data = $dni * 86400 + $h * 3600 + $min * 60 + $sec;
$stannadawca = $rekord[9];
$stanadresat = $rekord[10];
echo ''.$data.'-'.$stannadawca.'-'.$stanadresat.'<br>'; }
if ($stannadawca == 1 && $stanadresat == 1)
{
$zapytanie ='DELETE FROM `poczta` WHERE `stannadawca`= 1 and `stanadresat`= 1';
}
if ($stannadawca == 0 && $stanadresat == 0)
{
if ($data > 259200)
{
$zapytanie ='DELETE FROM `poczta` WHERE `stannadawca`= 0 and `stanadresat`= 0';
}
}
if ($stannadawca == 1 && $stanadresat == 0)
{
if ($data > 259200)
{
$zapytanie ='DELETE FROM `poczta` WHERE `stannadawca`= 1 and `stanadresat`= 0';
}
}
if ($stannadawca == 0 && $stanadresat == 1)
{
if ($data > 259200)
{
$zapytanie ='DELETE FROM `poczta` WHERE `stannadawca`= 0 and `stanadresat`= 1';
}
}
if ($stannadawca == 2)
{
if ($data > 2592000)
{
$zapytanie ='DELETE FROM `poczta` WHERE `stannadawca`= 2';
}
}
if ($stanadresat == 2)
{
if ($data > 2592000)
{
$zapytanie ='DELETE FROM `poczta` WHERE `stanadresat`= 2';
}
}
?>