Changement de page

philippeC
Invité n'ayant pas de compte PHPfrance

07 juil. 2011, 17:05

Bonjour,

Je gère une page web qui peut avoir un nombre variable de pages (variable $nb_pages) :
J'aimerais faire en sorte de pouvoir aller à une certaine page en mettant juste dans un champ la page souhaitée.
le numéro irait directement en fin d'url : htpp....&num_page=NumDeLaPage
Le tout avec, éventuellement un bouton Ok pour valider le changement de page.
Pour l'instant j'avais ceci mais l'affichage est affreux quand il y a 1000pages
 if ( (isset($total)) && ($total != 0) )
 {
	echo 'Page(s) : ';
	for ($i=1 ; $i<=$nb_pages ; $i++)
	{
		if ($i == $page)
		{echo '<u>'.$i.'</u>&nbsp;&nbsp;';}
		else
		{echo '<a href="accueil.php&num_page='.$i.'">'.$i.'</a>&nbsp;&nbsp;';}
	}
Par avance merci,
Cordialement,
Philippe.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

07 juil. 2011, 18:07

Un simple formulaire envoyé en get avec un champ num_page te permettra de constituer l'url avec le numéro de page saisi :)
<form method="get" action="accueil.php">
   <input type="text" name="num_page" value="" />
   <input type="submit" />
</form>
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

philippeC
Invité n'ayant pas de compte PHPfrance

07 juil. 2011, 18:34

Merci Ryle de votre rapidité et efficacité, c'est exactement ce que j'attendais.
Par contre une erreur que je n'avais pas vu venir :

accueil.php?page=accueil_textes&num_page=26

j'ai donc modifié la page ainsi :
 <input type="text" name="page=accueil_textes&num_page" value="" />
Mais le = devient %3D et le & devient %26, j'ai essayé de mettre en code numérique ou code texte mais rien n'y fait...

Par ailleurs, puis je faire une vérification que le nombre tapé ne depasse pas ma viariable $nb_pages ?

Cordialement,
Philippe.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

07 juil. 2011, 21:35

Pour ton deuxième paramètre, ajoute un champ caché dans le formulaire :)
<form method="get" action="accueil.php">
   <input type="hidden" name="page" value="accueil_textes" />
   <input type="text" name="num_page" value="" />
   <input type="submit" />
</form>
Quant au contrôle, tu peux le faire en php une fois le formulaire envoyé, où si tu veux informer l'utilisateur lors de sa saisie, il faut utiliser javascript... ça dépend un peu de ce que tu souhaites faire :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

philippeC
Invité n'ayant pas de compte PHPfrance

01 août 2011, 15:09

Navré de répondre si tardivement mais merci beaucoup pour ces réponses.

Cordialement,
Philippe