prob de pagination

prob de pagination - PHP - Programmation

Marsh Posté le 09-08-2006 à 14:36:54    

Bonjour ;
 
Voila jai un probleme de pagination lors de mon resultat de recherche...
ma pagination marche mais pa tout a fait...
j ai choisi de faire un affichage 3 par 3 (page 1--> 3 resultats , page 2 3 resultats ....)
 
le probleme que j ai et le suivant lors de ma recherche mes resultats s'affichent (exemple 6 resultats touvées )
j ai mes 3 premiers resultats à la page 1
et je vois qu une 2eme page apparait (comme sur ttout les sites ..)
 
Le probleme est que lors que j clique sur "page 2" rien ne s affiche ... et là vous me direz normal car ma requete et dans le bouton rechercher... ce que j ai remarquer  
 
la question que je me poser c'est comment recupérées mes valeurs de mes requetes , valeur de comptage etc..     bref toutes les variables dont j ai besoin...
 
--> j ai pensé de mettre ces valeurs en SESSION , est ce une bonne choses ou pas au quelqu un d autre a une ou plusieurs idées  
 
Voila j espere avoir été assez clair dans mes explications...
 
 
Voici mon code ci dessous pour que vous essayer de mieux comprendre tout çà... (dsl ya pas mal de ligne de code...)
 
Merci d avance ! :D  
 

Code :
  1. @$titre_carnet_voyage ="";
  2.  @$titre_carnet_voyage = $_POST['titre_carnet_voyage'];//valeur du titre carnet de voyage
  3.  @$jour_v = $_POST['jour_voyage'];
  4.  @$mois_v = $_POST['mois_voyage'];
  5.  @$annee_v = $_POST['annee_voyage'];
  6.  $date_v = $annee_v."-".$mois_v."-".$jour_v;//date du voyage format US ( pour la table)
  7.  $date_vf = $jour_v."-".$mois_v."-".$annee_v;//date du voyage format français
  8.  @$jour_p = $_POST['jour_publication'];
  9.  @$mois_p =  $_POST['mois_publication'];
  10.  @$annee_p = $_POST['annee_publication'];
  11.  $date_p = $annee_p."-".$mois_p."-".$jour_p;//date publication format US ( pour la table)
  12.  $date_pf = $jour_p."-".$mois_p."-".$annee_p;//date publication format français
  13.  @$commentaire_carnet_voyage = $_POST['commentaire_carnet_voyage'];
  14.  @$photo_carnet_voyage = $_POST['photo_carnet_voyage'];
  15.  //-------------------Détermination et initialisation du système de pagination
  16.  $max_par_page=3;//nombre max de valeur par  page ici 5
  17.  if(!isset($_GET['num_page']) and !isset($_SESSION['page_en_cour'])){
  18.   $_SESSION['page_en_cour']=1;
  19.  }
  20.  elseif(!isset($_GET['num_page'])){
  21.   $_SESSION['page_en_cour']=1;
  22.  }
  23.  else{
  24.   $_SESSION['page_en_cour']=intval($_GET['num_page']);
  25.  }
  26.  $PremiereAnnonceAafficher = ($_SESSION['page_en_cour'] - 1) * $max_par_page;
  27. echo "PremiereAnnonceAafficher-->".$PremiereAnnonceAafficher;echo '<br>';
  28. if (@$_POST['Rechercher_carnet_voyage']=="Rechercher" )
  29. {
  30.  echo 'dans rechercher<br>';
  31.  $recup_type = "carnet_voyage";// valeur envoyer dans mon URL pour savoir le type de recherche
  32.        if ( $photo_carnet_voyage == "1"  ){
  33.         //cas : je veux des photos
  34.         $rechercher= "SELECT * FROM carnet_voyage WHERE photo_carnet_voyage_1  <>  \"\" ";
  35.        }
  36.          if ($titre_carnet_voyage != "" ){
  37.        // pour les commentaires
  38.         $rechercher.= "AND commentaire_carnet_voyage LIKE \"%$commentaire_carnet_voyage%\" ";
  39.        }
  40. ..........................................................................................
  41. ..........................................................................................
  42. .................. CONCATENATION DE REQUETES.............................
  43. ..........................................................................................
  44. ..........................................................................................
  45.       //requete concaténné*/
  46.       //fin de ma requete trié par Id
  47.       $rechercher.=  " ORDER by id_carnet_voyage ASC ";
  48.       $result_rechercher = mysql_query($rechercher);
  49.       $Nombre_compte_rechercher=mysql_num_rows($result_rechercher);//permet de compter le nombre de resultat selon ma requete
  50.       echo "Nombre de resultat trouvé-->".$Nombre_compte_rechercher.'<br>';
  51.       $rechercher2 = substr($rechercher,27);
  52.       echo $rechercher2;
  53.       //----------------------------------------------------Calcul du nombre de pages nécessaires
  54.        $sql="SELECT *
  55.         FROM carnet_voyage $rechercher2  LIMIT  ".$PremiereAnnonceAafficher.",".$max_par_page;
  56.        $result_sql = mysql_query($sql);
  57.        
  58.       echo $sql;
  59.       echo '<br>';
  60.       echo '<br>';
  61.       echo '<br>';
  62.       //$resultats=mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
  63.       //$nb_resultat_ttl=mysql_numrows($resultats);
  64.       echo "nb_resultat_ttl-->".$Nombre_compte_rechercher;echo '<br>';
  65.       if($Nombre_compte_rechercher!=$max_par_page){
  66.        $nb_pages=ceil($Nombre_compte_rechercher/$max_par_page);
  67.       }
  68.       else $nb_pages=1;
  69.       echo "nb_pages-->".$nb_pages;echo '<br>';
  70.       //----------------------------------------------------
  71.       if ($Nombre_compte_rechercher == "0" ) {
  72.       echo "
  73.       <h2>Résultat de votre recherche :<br>
  74.       <h3>Aucun résultat ne correspond à votre recherche </h3>
  75.       <p>";
  76.       }
  77.       else{
  78.         // Si un seul enregistrement est trouvé, on affiche un message au singulier
  79.        if ($Nombre_compte_rechercher == "1" ) {
  80.        echo "
  81.        <h2>Résultat de votre recherche :<br>
  82.        <h2>$Nombre_compte_rechercher carnet de voyage trouvé</h2>
  83.        <p>";
  84.        }
  85.        // Dans le cas contraire le message est au pluriel...
  86.        else {
  87.        echo "
  88.        <h2>Résultat de votre recherche :<br>
  89.         $Nombre_compte_rechercher Carnet de voyage trouvés</h2>
  90.        <p>";
  91.        }
  92.       }
  93.       while($ligne = mysql_fetch_array($result_sql))
  94.       {
  95.        echo "
  96.        <p>
  97.        <br><a href=\"../recherche/affiche_recherche.php?id_carnet_voyage=$ligne[id_carnet_voyage]
  98.        & titre_carnet_voyage=$ligne[titre_carnet_voyage] & val=$recup_type   \">Visualiser le carnet de voyage</a>\n
  99.        <p>\n
  100.        ";
  101.       }
  102.       //*********************Affichage de  X annonces par pages
  103.       if($nb_pages!=0){  
  104.        if($_SESSION['page_en_cour']!=1){//page précédente
  105.         echo '<a href="recherche_carnet_voyage.php?num_page='.($_SESSION['page_en_cour']-1).'"> << </a>';
  106.        }
  107.        for($i=1;$i<=$nb_pages;$i++){
  108.         echo '<a href="recherche_carnet_voyage.php?num_page='.$i.'"> '.$i.' </a>';
  109.        }
  110.        if($_SESSION['page_en_cour']!=$nb_pages)//page suivante
  111.        {
  112.         echo '<a href="recherche_carnet_voyage.php?num_page='.($_SESSION['page_en_cour']+1).'"> >> </a>';
  113.        }
  114.        echo '<br>';
  115.        echo '<br>';
  116.       }
  117.      
  118. }


 
 
 

Reply

Marsh Posté le 09-08-2006 à 14:36:54   

Reply

Marsh Posté le 09-08-2006 à 15:00:08    

je pense que dans ton cas, tu peux mettre la requete en session
 
pense quand meme a bine la remettre a zero quand on lance une nouvelle recherche

Reply

Marsh Posté le 09-08-2006 à 15:05:12    

j y avais songé mais que maitrise pas totalement les sessions donc je ne sais pas trop comment faire avec la concaténation de ma requete..
 
Et comment on detruit une session ,c'est bien avec session_destroy() ???
 
Merci :d

Reply

Marsh Posté le 09-08-2006 à 15:17:03    

Pour info "Pagination" , le terme est pas forcement bien choisi pour definir le probleme ( Pour moi comme pour beacoup de monde pagination => Disque Dur / Swap / ... )
 
ensuite pour répondre à ta question oui le mieux c'est de mettre ca en session en revanche le session_destroy() que tu fais attention car ca detruit completment la session et donc peut etre des infos annexes comme l'authentification ou autre , le plus simple c'est unset($_SESSION['TA_VARIABLE_DE_SESSION'])
 

Reply

Marsh Posté le 09-08-2006 à 15:23:32    

jbourdellon a écrit :

Pour info "Pagination" , le terme est pas forcement bien choisi pour definir le probleme ( Pour moi comme pour beacoup de monde pagination => Disque Dur / Swap / ... )
 
ensuite pour répondre à ta question oui le mieux c'est de mettre ca en session en revanche le session_destroy() que tu fais attention car ca detruit completment la session et donc peut etre des infos annexes comme l'authentification ou autre , le plus simple c'est unset($_SESSION['TA_VARIABLE_DE_SESSION'])


 
 
Pour le terme 'Pagination' , je suis en PHP et non en SE... donc voila  
 
Sinon merci pour le unset je connaissez pas ....
 
Allez j y retourne!! :pt1cable:

Reply

Marsh Posté le 09-08-2006 à 15:50:33    

flo850 a écrit :

je pense que dans ton cas, tu peux mettre la requete en session
 
pense quand meme a bine la remettre a zero quand on lance une nouvelle recherche


 
Je viens de faire exactement se que tu m'as dit et le resultat e tjr le même :cry:

Reply

Marsh Posté le 09-08-2006 à 17:15:46    


[i]Re coucou :d :[/i]
 
voila mon nouveau code avec l utilisation des variables de SESSION mais bon cela change strictement rien donc je pense que c'est au niveau ALGO que ça chie...
 
 
 

Code :
  1. if (@$_POST['Rechercher_carnet_voyage']=="Rechercher" )
  2. {
  3.  unset($_SESSION['rechercher']);
  4.  echo "valeur de rechercher-->".@$_SESSION['rechercher']."<br>";
  5.  $recup_type = "carnet_voyage";// valeur envoyer dans mon URL pour savoir le type de recherche
  6.        if ( $photo_carnet_voyage == "1"  ){
  7.         //cas : je veux des photos
  8.         $_SESSION['recherche']= "SELECT * FROM carnet_voyage WHERE photo_carnet_voyage_1  <>  \"\" ";
  9.           
  10.        if ($titre_carnet_voyage != "" ){
  11.        // pour les commentaires
  12.         $_SESSION['recherche'].= "AND  commentaire_carnet_voyage LIKE \"%$commentaire_carnet_voyage%\" ";
  13.        }
  14. *************************************************************************
  15. *************************************************************************
  16. ********************CONCATENATION DE REQUETES******************************
  17. *************************************************************************
  18. *************************************************************************
  19.       //requete concaténné*/
  20.       //fin de ma requete trié par Id
  21.       $_SESSION['recherche'].=  " ORDER by id_carnet_voyage ASC ";
  22.       $result_rechercher = mysql_query($_SESSION['recherche']);
  23.       $Nombre_compte_rechercher=mysql_num_rows($result_rechercher);//permet de compter le nombre de resultat selon ma requete
  24.       echo "Nombre de resultat trouvé-->".$Nombre_compte_rechercher.'<br>';
  25.       $_SESSION['recherche2'] = substr($_SESSION['recherche'],27);
  26.       echo "--->".$_SESSION['recherche2'];
  27.       //----------------------------------------------------Calcul du nombre de pages nécessaires
  28.        $sql="SELECT *
  29.         FROM carnet_voyage ".$_SESSION['recherche2']."  LIMIT  ".$PremiereAnnonceAafficher.",".$max_par_page;
  30.        $result_sql = mysql_query($sql);
  31.        
  32.       echo $sql;
  33.       echo '<br>';
  34.       echo '<br>';
  35.       echo '<br>';
  36.       //$resultats=mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
  37.       //$nb_resultat_ttl=mysql_numrows($resultats);
  38.       echo "nb_resultat_ttl-->".$Nombre_compte_rechercher;echo '<br>';
  39.       if($Nombre_compte_rechercher!=$max_par_page){
  40.        $nb_pages=ceil($Nombre_compte_rechercher/$max_par_page);
  41.       }
  42.       else $nb_pages=1;
  43.       echo "nb_pages-->".$nb_pages;echo '<br>';
  44.       //----------------------------------------------------
  45.       if ($Nombre_compte_rechercher == "0" ) {
  46.       echo "
  47.       <h2>Résultat de votre recherche :<br>
  48.       <h3>Aucun résultat ne correspond à votre recherche </h3>
  49.       <p>";
  50.       }
  51.       else{
  52.         // Si un seul enregistrement est trouvé, on affiche un message au singulier
  53.        if ($Nombre_compte_rechercher == "1" ) {
  54.        echo "
  55.        <h2>Résultat de votre recherche :<br>
  56.        <h2>$Nombre_compte_rechercher carnet de voyage trouvé</h2>
  57.        <p>";
  58.        }
  59.        // Dans le cas contraire le message est au pluriel...
  60.        else {
  61.        echo "
  62.        <h2>Résultat de votre recherche :<br>
  63.         $Nombre_compte_rechercher Carnet de voyage trouvés</h2>
  64.        <p>";
  65.        }
  66.       }
  67.       while($ligne = mysql_fetch_array($result_sql))
  68.       {
  69.        echo "
  70.        <p>
  71.        <br><a href=\"../recherche/affiche_recherche.php?id_carnet_voyage=$ligne[id_carnet_voyage]
  72.        & titre_carnet_voyage=$ligne[titre_carnet_voyage] & val=$recup_type   \">Visualiser le carnet de voyage</a>\n
  73.        <p>\n
  74.        ";
  75.       }
  76.       //*********************Affichage de  X annonces par pages
  77.       if($nb_pages!=0){  
  78.        if($_SESSION['page_en_cour']!=1){//page précédente
  79.         echo '<a href="recherche_carnet_voyage.php?num_page='.($_SESSION['page_en_cour']-1).'"> << </a>';
  80.        }
  81.        for($i=1;$i<=$nb_pages;$i++){
  82.         echo '<a href="recherche_carnet_voyage.php?num_page='.$i.'"> '.$i.' </a>';
  83.        }
  84.        if($_SESSION['page_en_cour']!=$nb_pages)//page suivante
  85.        {
  86.         echo '<a href="recherche_carnet_voyage.php?num_page='.($_SESSION['page_en_cour']+1).'"> >> </a>';
  87.        }
  88.        echo '<br>';
  89.        echo '<br>';
  90.       }
  91.      
  92. }
  93. // on ferme la base
  94. mysql_close();
  95. ?>

Reply

Marsh Posté le 09-08-2006 à 18:04:21    

- evite d'utiliser l'operateur de controle d'erreur (@) a toutes les sauces...
 
ex :

Code :
  1. if (@$_POST['Rechercher_carnet_voyage']=="Rechercher" )


a remplacer par :  

Code :
  1. if(isset($_POST['Rechercher_carnet_voyage']) && $_POST['Rechercher_carnet_voyage']=="Rechercher" )


C'est quand meme plus propre de tester l'existance d'une variable (ou d'un index de tableau) plutot que d'ignorer les messages d'erreur si elle n'existe pas ou n'a pas ete attribuee. De plus @ peut "masquer" les erreurs critiques qui stopent un script.  
cf doc : http://pl.php.net/manual/fr/langua [...] ontrol.php
 
Pour ce qui est de ton code:  

Code :
  1. *************************************************************************
  2. *************************************************************************
  3. ********************CONCATENATION DE REQUETES******************************
  4. *************************************************************************
  5. *************************************************************************


n'est pas un commentaire et doit provoquer un parse error...
- il manque "<?php" au debut
- il manque aussi une "}" a la fin  
 
Bref en l'etat le code ne marche pas... je ne parle meme pas de l'abscence d'indentation qui rend la chose illisible.
 
En resume si tu veux de l'aide, post du code qui marche (syntaxe) et qui soit lisible...
 
 

Reply

Marsh Posté le 10-08-2006 à 08:58:48    

Woutcha a écrit :

- evite d'utiliser l'operateur de controle d'erreur (@) a toutes les sauces...
 
ex :

Code :
  1. if (@$_POST['Rechercher_carnet_voyage']=="Rechercher" )


a remplacer par :  

Code :
  1. if(isset($_POST['Rechercher_carnet_voyage']) && $_POST['Rechercher_carnet_voyage']=="Rechercher" )


C'est quand meme plus propre de tester l'existance d'une variable (ou d'un index de tableau) plutot que d'ignorer les messages d'erreur si elle n'existe pas ou n'a pas ete attribuee. De plus @ peut "masquer" les erreurs critiques qui stopent un script.  
cf doc : http://pl.php.net/manual/fr/langua [...] ontrol.php
 


 
 
Merci cela j ai effectuer la modife c'est impec ça marche nikel mais
 
 
 

Woutcha a écrit :

-  
Pour ce qui est de ton code:  

Code :
  1. *************************************************************************
  2. *************************************************************************
  3. ********************CONCATENATION DE REQUETES******************************
  4. *************************************************************************
  5. *************************************************************************


n'est pas un commentaire et doit provoquer un parse error...
- il manque "<?php" au debut
- il manque aussi une "}" a la fin  
 
Bref en l'etat le code ne marche pas... je ne parle meme pas de l'abscence d'indentation qui rend la chose illisible.
 
En resume si tu veux de l'aide, post du code qui marche (syntaxe) et qui soit lisible...


 
Mais pour cela j ai mis cela pour ne pas afficher tout mes requetes vu que j en ai pas mal dc j ai rajouter cette pseudo phrase qd j ai posté :D  
 
 
 
 
 
 
 

Reply

Marsh Posté le 10-08-2006 à 12:16:28    

up!:d

Reply

Marsh Posté le 10-08-2006 à 12:16:28   

Reply

Marsh Posté le 16-08-2006 à 14:06:00    

j ai essayer de faire evoluer mon code...
 
mon collegue de boulot (moi je suis QUE )ma dit de faire cela..  
 
mettre en parametre mes valeurs que je cherchais , c'est se que j ai fais .. donc cela donne çà (dsl je vous donne tout mon code pr mieux voir...) pour avoir l affichage de ma page 2 avec mes resultats...
 
merci de m aider SVP  :jap:  :jap:  :jap:  :jap:  :jap:  
 

Code :
  1. /*Initialisation des variables*/
  2.  @$titre_carnet_voyage ="";
  3.  @$titre_carnet_voyage = $_POST['titre_carnet_voyage'];//valeur du titre carnet de voyage
  4.  @$jour_v = $_POST['jour_voyage'];
  5.  @$mois_v = $_POST['mois_voyage'];
  6.  @$annee_v = $_POST['annee_voyage'];
  7.  $date_v = $annee_v."-".$mois_v."-".$jour_v;//date du voyage format US ( pour la table)
  8.  $date_vf = $jour_v."-".$mois_v."-".$annee_v;//date du voyage format français
  9.  @$jour_p = $_POST['jour_publication'];
  10.  @$mois_p =  $_POST['mois_publication'];
  11.  @$annee_p = $_POST['annee_publication'];
  12.  $date_p = $annee_p."-".$mois_p."-".$jour_p;//date publication format US ( pour la table)
  13.  $date_pf = $jour_p."-".$mois_p."-".$annee_p;//date publication format français
  14.  @$commentaire_carnet_voyage = $_POST['commentaire_carnet_voyage'];
  15.  @$photo_carnet_voyage = $_POST['photo_carnet_voyage'];
  16.  //-------------------Détermination et initialisation du système de pagination
  17.  $max_par_page=3;//nombre max de valeur par  page ici 3
  18.  if(!isset($_GET['num_page']) and !isset($_SESSION['page_en_cour'])){
  19.   $_SESSION['page_en_cour']=1;
  20.  }
  21.  elseif(!isset($_GET['num_page'])){
  22.   $_SESSION['page_en_cour']=1;
  23.  }
  24.  else{
  25.   $_SESSION['page_en_cour']=intval($_GET['num_page']);
  26.  }
  27.  $PremiereAnnonceAafficher = ($_SESSION['page_en_cour'] - 1) * $max_par_page;
  28. // echo "PremiereAnnonceAafficher-->".$PremiereAnnonceAafficher;echo '<br>';
  29. if(isset($_POST['Rechercher_carnet_voyage']) && $_POST['Rechercher_carnet_voyage']=="Rechercher" )
  30. {
  31.  //unset($_SESSION['rechercher']);
  32.  //echo "valeur de rechercher-->".@$_SESSION['rechercher']."<br>";  
  33.  $recup_type = "carnet_voyage";// valeur envoyer dans mon URL pour savoir le type de recherche
  34.        if ( $photo_carnet_voyage == "1"  ){
  35.         //cas : je veux des photos
  36.         $_SESSION['recherche']= "SELECT * FROM carnet_voyage WHERE photo_carnet_voyage_1  <>  \"\" ";
  37.         $val="photo".$photo_carnet_voyage;//parametre concaténé  
  38.        }
  39.        if ( $photo_carnet_voyage == "2"  ){
  40.         //cas : PAS de photo
  41.         $_SESSION['recherche']= "SELECT * FROM carnet_voyage WHERE photo_carnet_voyage_1  =  \"\" ";
  42.         $val="photo".$photo_carnet_voyage;
  43.        }
  44.          if ($titre_carnet_voyage != "" ){
  45.        // pour les commentaires
  46.         $_SESSION['recherche'].= "AND titre_carnet_voyage LIKE \"%$titre_carnet_voyage%\" ";
  47.         $val.='&'.'titre='.$titre_carnet_voyage;
  48.        }
  49.   
  50.        if ($commentaire_carnet_voyage != "" ){
  51.        // pour les commentaires
  52.         $_SESSION['recherche'].= "AND  commentaire_carnet_voyage LIKE \"%$commentaire_carnet_voyage%\" ";
  53.         $val.='&'.'commentaire='.$commentaire_carnet_voyage;//parametre concaténé
  54.        }
  55.        if (($annee_v != "selected" ) && ($mois_v != "00" ) ){//gestion date_voyage  
  56.         //cas date_voyage : AAAA-MM
  57.         $_SESSION['recherche'].= "AND  date_voyage LIKE \"%$annee_v-$mois_v-%\" ";
  58.         $val.='&'.'annee_voyage='.$annee_v.'&'.'mois_voyage='.$mois_v;
  59.        }
  60.        if (($annee_v != "selected" ) && ($mois_v == "00" ) ){
  61.         //cas date_voyage : AAAA
  62.         $_SESSION['recherche'].= "AND  date_voyage LIKE \"%$annee_v-%\" ";
  63.         $val.='&'.'annee_voyage='.$annee_v;
  64.        }
  65.        if (($annee_v == "selected" ) && ($mois_v != "00" ) ){
  66.         //cas date_voyage : MM
  67.         $_SESSION['recherche'].= "AND date_voyage LIKE \"%-$mois_v-%\" ";
  68.         $val.='&'.'mois_voyage='.$mois_v;
  69.        }
  70.        if (($annee_p != "selected" ) && ($mois_p != "00" ) ){//gestion date_publication_carnet_voyage  
  71.         //cas date_publication_carnet_voyage : AAAA-MM
  72.         $_SESSION['recherche'].= "AND date_publication_carnet_voyage LIKE \"%$annee_p-$mois_p-%\" ";
  73.         $val.='&'.'annee_publication='.$annee_p.'&'.'mois_publication='.$mois_p;
  74.        }
  75.        if (($annee_p != "selected" ) && ($mois_p == "00" ) ){
  76.         //cas date_publication_carnet_voyage : AAAA
  77.         $_SESSION['recherche'].= "AND date_publication_carnet_voyage LIKE \"%$annee_p-%\" ";
  78.          $val.='&'.'annee_publication='.$annee_p;
  79.        }
  80.        if (($annee_p == "selected" ) && ($mois_p != "00" ) ){
  81.         //cas date_publication_carnet_voyage : MM
  82.         $_SESSION['recherche'].= "AND date_publication_carnet_voyage LIKE \"%-$mois_p-%\" ";
  83.         $val.='&'.'mois_publication='.$mois_p;
  84.        }
  85.       //requete concaténné*/
  86.       //fin de ma requete trié par Id
  87.       $_SESSION['recherche'].=  " ORDER by id_carnet_voyage ASC ";
  88.       $result_rechercher = mysql_query($_SESSION['recherche']);
  89.       $Nombre_compte_rechercher=mysql_num_rows($result_rechercher);//permet de compter le nombre de resultat selon ma requete
  90.       //echo "--->".$_SESSION['recherche'];
  91.        //echo '<br>';
  92.        //echo '<br>';
  93.       //echo "Nombre de resultat trouvé-->".$Nombre_compte_rechercher.'<br>';
  94.       $_SESSION['recherche2'] = substr($_SESSION['recherche'],27);
  95.       //echo "--->".$_SESSION['recherche2'];
  96.       //----------------------------------------------------Calcul du nombre de pages nécessaires
  97.        $sql="SELECT *
  98.         FROM carnet_voyage ".$_SESSION['recherche2']."  LIMIT  ".$PremiereAnnonceAafficher.",".$max_par_page;
  99.        $result_sql = mysql_query($sql);
  100.        
  101.      //echo $sql;
  102.      // echo '<br>';
  103.       //echo '<br>';
  104.      // echo '<br>';
  105.       //$resultats=mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
  106.       //$nb_resultat_ttl=mysql_numrows($resultats);
  107.       echo "nb_resultat_ttl-->".$Nombre_compte_rechercher;
  108.       echo '<br>';
  109.       if($Nombre_compte_rechercher!=$max_par_page){
  110.        $nb_pages=ceil($Nombre_compte_rechercher/$max_par_page);
  111.       }
  112.       else $nb_pages=1;
  113.       echo "nb_pages-->".$nb_pages;
  114.       echo '<br>';
  115.       //----------------------------------------------------
  116.       if ($Nombre_compte_rechercher == "0" ) {
  117.       echo "
  118.       <h2>Résultat de votre recherche :<br>
  119.       <h3>Aucun résultat ne correspond à votre recherche </h3>
  120.       <p>";
  121.       }
  122.       else{
  123.         // Si un seul enregistrement est trouvé, on affiche un message au singulier
  124.        if ($Nombre_compte_rechercher == "1" ) {
  125.        echo "
  126.        <h2>Résultat de votre recherche :<br>
  127.        <h2>$Nombre_compte_rechercher carnet de voyage trouvé</h2>
  128.        <p>";
  129.        }
  130.        // Dans le cas contraire le message est au pluriel...
  131.        else {
  132.        echo "
  133.        <h2>Résultat de votre recherche :<br>
  134.         $Nombre_compte_rechercher Carnet de voyage trouvés</h2>
  135.        <p>";
  136.        }
  137.       }
  138.       while($ligne = mysql_fetch_array($result_sql))
  139.       {
  140.        echo "
  141.        <p>
  142.        <br><a href=\"../recherche/affiche_recherche.php?id_carnet_voyage=$ligne[id_carnet_voyage]&titre_carnet_voyage=$ligne[titre_carnet_voyage]&type=$recup_type   \">Visualiser le carnet de voyage</a>\n
  143.        <p>\n
  144.        ";
  145.       }
  146.       echo "--------val------------->".$val.'<br>';
  147.       //*********************Affichage de  X annonces par pages
  148.       if($nb_pages!=0){  
  149.        if($_SESSION['page_en_cour']!=1){//page précédente
  150.         echo '<a href="recherche_carnet_voyage.php?num_page='.($_SESSION['page_en_cour']-1).'&val='.$val.'" &Nombre_compte_rechercher='.$Nombre_compte_rechercher.' > << </a>';
  151.        }
  152.        for($i=1;$i<=$nb_pages;$i++){
  153.         echo '<a href="recherche_carnet_voyage.php?num_page='.$i.'&val='.$val.'&Nombre_compte_rechercher='.$Nombre_compte_rechercher.' "> '.$i.' </a>';
  154.        }
  155.        if($_SESSION['page_en_cour']!=$nb_pages)//page suivante
  156.        {
  157.         echo '<a href="recherche_carnet_voyage.php?num_page='.($_SESSION['page_en_cour']+1).'&val='.$val.'&Nombre_compte_rechercher='.$Nombre_compte_rechercher.' "> >> </a>';
  158.        
  159.        
  160.        }
  161.        echo '<br>';
  162.        echo '<br>';
  163.        
  164.       }
  165.      
  166. }

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed