IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

probleme sur pagination


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 39
    Points : 10
    Points
    10
    Par défaut probleme sur pagination
    Bonjour à tous, voila j'ai fait un petit moteur de recherche, il fonctionne trés bien et m'affiche les bons resultats ....
    Je suis en train de faire une pagination pour les resultats mais je bloque sur un truc.

    exemple : Je fait un recherche ou il y'a 10 résultat ca devrait m'afficher 4 resultats par page pour 3 page.
    Ca m'affiche bien les 4 premiers resultat mais pour le nombre de page ca m'affiche 1 si quelqu'un à une idée du probleme je met mon code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    $perPage = 4;
    $cPage = 1 ;
     
    // Requette pour le moteur de recherche
    $query = ("SELECT * From annonce 
    LEFT JOIN type_annonce ON annonce.type_annonce = type_annonce.id
    LEFT JOIN type_annonceur ON annonce.vous_etes = type_annonceur.id 	
    LEFT JOIN categorie ON annonce.id_categorie = categorie.id 	
    LEFT JOIN  villes ON annonce.id_ville = villes.id
    LEFT JOIN  departement ON villes.departement = departement.code
    LEFT JOIN  region ON departement.id_region = region.id_region
    WHERE activer_annonce=1 ");
     
    	$f=explode(',', $_GET['area']); 
    	foreach($f as $fe) 
    		if (isset($_GET['area']) != ""){ $query .= " AND region.id_region LIKE '%$fe%'"; } 
     
    	$q=explode(',', $_GET['dep']); 
    	foreach($q as $depart) 
    		if (isset($_GET['area']) != ""){ $query .= " AND code LIKE '%$depart%'"; }  
     
    	$s=explode(" ",$t);
    	foreach($s as $mot)
    		if ($mot != ""){ $query .= " and titre_annonce LIKE '%$mot%' "; }
     
    		if (isset($_GET['a']) != ""){ $query .= " AND vous_etes LIKE '%$a%'"; }
     
    	$z=explode(" ",$c); 
    	foreach($z as $all)
    		if (isset($_GET['c']) != ""){ $query .= " AND id_categorie LIKE '%$c%'"; }
     
    	$e=explode(" ",$cp); 
    	foreach($e as $code_postal)
    		if (isset($_GET['cp']) != ""){ $query .= " AND villes.code_postal LIKE '%$code_postal'"; }
     
    		if (isset($_GET['offres']) != ""){ $query .= " AND type_annonce LIKE '$type'"; } 
     
    $query .= " ORDER BY id_annonce DESC LIMIT  ".(($cPage-1)/$perPage)." ,$perPage";
    $result1 = mysql_query($query, $cnx);
    $nb_resultats1 = mysql_num_rows($result1); 	
     
     
    $nbPage = $nb_resultats1/$perPage;
    echo $nbPage;

  2. #2
    Membre du Club
    Femme Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2011
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 26
    Points : 51
    Points
    51
    Par défaut
    Bonjour,

    Le LIMIT dans une requête SQL permet de limiter le nombre de résultats de la requête...donc dans ton cas tu limites à 4 résultats, ce qui signifie que tu n'auras jamais plus de 4 lignes de résultats, c'est pourquoi ta ligne:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $nb_resultats1 = mysql_num_rows($result1);

    renvoie toujours 4.

    Si tu veux avoir le nombre total de résultats il ne faut pas que limite ceux-ci dans ta requête SQL.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [LG]Probleme sur l'identification de typage
    Par axelmeunier dans le forum Langage
    Réponses: 10
    Dernier message: 19/01/2004, 13h41
  2. Réponses: 3
    Dernier message: 07/04/2003, 20h06
  3. Probleme sur le Fields des fichiers Xmlgram
    Par Sandrine75 dans le forum XMLRAD
    Réponses: 4
    Dernier message: 20/03/2003, 17h09
  4. Probleme sur un AppendChild
    Par Toxine77 dans le forum XMLRAD
    Réponses: 3
    Dernier message: 14/03/2003, 18h25
  5. Probleme sur les chaines de caractere
    Par scorpiwolf dans le forum C
    Réponses: 8
    Dernier message: 06/05/2002, 19h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo