[SQL] Problème assez bizarre
Bonjour à tous,
j'ai rencontré un problème bizarre auquel j'ai du mal à trouver une explication :
dans une base de données, j'ai des données et notamment un champs timestamp, dans mon script j'utilise une requête SQL pour les récupérer puis je les traite à l'aide d'une boucle while (mysql_fetch_array ) . Dans cette boucle j'affiche les données 1 à 1 PUIS je les supprime si leur timestamp est inférieur au timestamp actuel (ie plus ancien).
En un mot comme en 100 cela donne :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
$requete = "SELECT timestamp FROM base";
$res = mysql_query($requete);
while($donnees = mysql_fetch_array($res))
{
$timestamp_actuel = time();
echo $donnees["timestamp"]."\n";
if($donnees["timestamp"] < $timestamp_actuel)
{
mysql_query("DELETE FROM base WHERE timestamp='".$donnees["timestamp"]."'");
echo "bien supprimé\n";
}
} |
Et là seulement les données dont le timestamp est supérieur au timestamp actuel s'affichent :? . Pourquoi les données avec un timestamp plus ancien ne s'affichent-elles pas alors que je ne les supprime seulement qu'après les avoir affichées?