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

            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