Plusieurs $_GET

Résolu
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

  1. 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. 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.
      1. 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. 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. 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 !