Page 1 sur 1

Bouton Précédent - Suivant

Posté : 07 mai 2007, 16:56
par sophie2097
Bjr à tous,

Voilà ce que je cherche à faire :
Suite à ma requete SQL du genre "select id from table", j'aimerais pouvoir utiliser un bouton précédent et un bouton suivant qui me permettront de passer d'un enregistrement(id de ma requete) à l'autre.

Comment rendre cela réalisable? qq un sait-il m'aider?

Merci d'avance

Posté : 07 mai 2007, 17:28
par thehawk
tu peux mettre 'WHERE id='.$_GET[id].''

et puis un lien qui s' incrémente ou se décrémenter en fonction de l'id actuel

Posté : 07 mai 2007, 17:36
par sophie2097
Merci d'éclairer qq peu ma lanterne.
Je vois où tu veux en venir, mais pourrais-tu me donner qq détails supplémentaires?

un grand merci

Posté : 07 mai 2007, 17:39
par sophie2097
je me disais qu'un incrémentation m'oblige à avoir des ID qui se suivent(1,2,3...), et malheureusement ca ne sera pas toujours le cas car certain enregistrement devront être supprimés

Posté : 07 mai 2007, 18:00
par thehawk
en effet c'est vrai que c'est genant tu peut alors essayer cette methode:

- Lister dans un array tous les id .
- Puis selectionner l'id en cours de traitement
- pour le bouton suivant par exemple selectionner la ligne suivant donc un id
- faire une requete sur l'idée

mais pour une approche "script" je ne sais pas trop comment faire je plancherai sur le sujet ce soir

@+ thehawk

Posté : 07 mai 2007, 18:05
par sophie2097
ca s'éclaircit tout doucement dans mon esprit. J'attenderai la suite mais je te remercie d'avance pour ton aide

Posté : 07 mai 2007, 18:36
par thehawk
tu peux deja commencer a coder parce que ici on ne livre pas de code tout pret

Posté : 08 mai 2007, 09:47
par thehawk
Salut a toi,
Alors pour lister les ids dans un tableau utilise un array vide dans le quel tu met une nouvelle ligne contenant ,
l'id suivant dans la table. Ainsi meme si tu as des "trou" dans les ids de ta table , l'array permet d'obtenir par exemple :
$id[1] // affiche 2
$id[2] // affiche 8
etc ...
// listage des Ids
$id = array();
$reponse = mysql_query('SELECT truc FROM ma_table');
				while ($donnees = mysql_fetch_array($reponse))
					{
					$id[] = $donnees['id'];
					}
	
Maintenant nous avous un tableau contenant tous les ids
On va tester toutes les lignes afin de determiner la bonne, l'id qui est afficher actuellement
Pour cela On va faire un boucle for qui va parcourir tous les ligne de l'id a la recherche de l'id actuelle
Et on la sort dans une nouvelle variable
// retrouver la ligne
<?
$id_table_actuel = ''; // l'id de la table afficher
	for ($i=0;$i<count($id);$i+)
	{
		if ($id_table_actuel == $id)
			{
			$id_table_actuel_dans_tableau = $id[$i];
			}
	}?>
	
Maintenant que l'on a l'id de la table dans le listing des id on a juste a ajouter ou enlever 1 pour monter ou descendre d'un ligne
// determination des id pour bouton	
$bouton_suivant = "<a href='...'>?suivante=".$id[$id_table_actuel_dans_tableau + 1]."</a>";
$bouton_precedent = "<a href='...'>?precedent=".$id[$id_table_actuel_dans_tableau - 1]."</a>";
					?>
					

Voila j'ai coder ceci sans tester , et j'ai mi volontairement des erreurs afin que tu regarde en profondeur le code
Ce code est " pour expliquer" tu dois l'adapter a ta situation et a tes attentes.

@+ thehawk