Plusieurs $_GET

Résolu/Fermé
jojo67329 - 3 nov. 2012 à 15:10
 jojo67329 - 3 nov. 2012 à 16:30
Bonjour,
J'aimerais passer plusieurs paramètres dans mon url, q de recherche ou filtre et page pour la pagination.

Je n'ai pas encore gérer le cas ou q n'existerait pas.

<?php
$urlq= '?q='.$_GET['q'];
?>

Et la pagination :

<?php
echo '<p>[ Page :';
// Boucle sur les pages
for ($i = 1 ; $i <= $nb_pages ; $i++) {
	if ($i == $page )
		echo " $i";
	else
		echo " <a href=\"$urlq?page=$i\">$i</a> ";
}
echo ' ]</p>';
?>


Le script déconne dès la page 2 au niveau du choix de la page (il me dit que je suis sur la page1)

http://img11.hostingpics.net/pics/573548page2.jpg


et à la page 3 le bordel vient même dans l'URL

http://img11.hostingpics.net/pics/865513page3.png

Merci à vous !

5 réponses

Atropa Messages postés 1940 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 11 mai 2014 274
3 nov. 2012 à 15:59
bonjour

pour séparer plusieurs variable get il faut utiliser & et non ?

? annonce le début de la chaine query

et & sépare les variable

monsite.fr?var1=unevaleur&var2=unesecondevaleur
1
Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
Modifié par Nhay le 3/11/2012 à 16:26
Bonjour,
EN définnissant ta variable urlq comme cela :
<?php 
if($_GET['q'])  $urlq= '?q='.$_GET['q'].'&'; else $urlq='?' 
?>


Tu as directement le bon séparateur, il ne te reste donc plus qu'à côllé cette variable avec le page=$i

edit : correction
1
Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
Modifié par Nhay le 3/11/2012 à 16:27
J'ai moi-même fais une petite faute :

if($_GET['q']) $urlq= '?q='.$_GET['q'].'&'; else $urlq='?'

est légèrement plus propre.
ça t'évite d'avoir un paramètre vide dans ton url, même si ce n'est pas gênant en soi.
1
Quel idiot suis-je...

Ceci fonctionne à merveille :


<?php
$urlq= '?q='.$_GET['q'].'&';
?>

?>
echo '<p>[ Page :';
// Boucle sur les pages
for ($i = 1 ; $i <= $nb_pages ; $i++) {
	if ($i == $page )
		echo " $i";
	else
		echo " <a href=\"
		$urlq
		page=$i\">$i</a> ";
}
echo ' ]</p>';
?>



Merci beaucoup.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Oui, merci, ceci fonctionne pour le cas ou $_GET['q'] n'existe pas.


On a donc le code final :

<?php 
if (isset($_GET['q'])){ 
 $urlq= '?q='.$_GET['q'].'&'; 
} 
else{ 
 $urlq='&'; 
} 
?> 

<?php 
echo '<p>[ Page :'; 
// Boucle sur les pages 
for ($i = 1 ; $i <= $nb_pages ; $i++) { 
 if ($i == $page ) 
  echo " $i"; 
 else 
  echo " <a href=\"$urlq 
  page=$i\">$i</a> "; 
} 
echo ' ]</p>'; 
?>


Merci encore et bonne journée à vous !
0