Plusieurs $_GET

Résolu
jojo67329 -  
 jojo67329 -
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. Atropa Messages postés 2051 Statut Membre 274
     
    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
  2. Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   126
     
    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
  3. Nhay Messages postés 838 Date d'inscription   Statut Membre Dernière intervention   126
     
    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
  4. jojo67329
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jojo67329
     
    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