Caprices d'id pour lequel j'ai plus d'idées

Résolu/Fermé
Utilisateur anonyme - 12 janv. 2008 à 11:43
 Utilisateur anonyme - 13 janv. 2008 à 00:05
Bonjour, je travaille sur un annuaire internet.
Afin de le renouveler souvent, j'ai écris un script php qui efface automatiquement les données de la base (des sites) si elles sont supérieures à un timestamp préalablement défini.
Jusque là tout va bien...
J'ai un second script qui marche parfaitement mais qui fonctionne sur la base du champ "id" des sites que j'ai sélectionné.
Jusque la tout va bien...
Mais voilà pour ce second script, j'aurais besoin de reorganiser les "id" à partir de 1 lors de l'effacement des anciens sites.
Car pour le moment les "id" ne sont pas bien rangé... Voici le code qui pose problème.
	$query = "SELECT * FROM sites WHERE timestamp < $temps_effacement";
	$reponse = mysql_query($query);
	while($liste = mysql_fetch_array($reponse))
		{
		$query1 = "DELETE FROM sites WHERE id = ".$liste['id']." ";
		mysql_query($query1);
         /*
		$query2 = "UPDATE sites SET id= id - 1 WHERE id > ".$liste['id']." ";
		mysql_query($query2);
         */
		}


Voilà j'ai commenté la requête sensée renuméroter les "id".
Moi je comprend plus rien j'ai tout essayé alors merci si vous parvenez à m'apporter vôtre aide.

1 réponse

Utilisateur anonyme
13 janv. 2008 à 00:05
Bon, à force de me creuser la tête sur ce problème, j' ai ENFIN réussis à obtenir ce que je voulais de ce script.
Cela dit j'ai un peu tricher puisque j'ai pas vraiment résolu le problème mais je l'ai contourné...

Je voulais faire un script qui efface les vieux timestamp en fonction d'une durée prédéfinie et ensuite renuméroter les id qui étaient "en vrac" suite à l' effacement...

J'ai contourné en incrementant l'id des timestamp présent dans la base et en insérant la nouvelle donnée avec un id = 1
Avec ce principe le plus vieux timestamp avai donc l'id le plus élévé... ce qui ne pose plus de problème de classement des id après avoir supprimé les vieux timestamps.

Voila merci même si personne ne m'a apporté de solution.
0