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

PHP & Base de donn�es Discussion :

Affichage par page page : pages blanches � la fin [MySQL]


Sujet :

PHP & Base de donn�es

  1. #1
    Membre confirm� Avatar de carelha
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    168
    D�tails du profil
    Informations personnelles :
    Localisation : France, Yvelines (�le de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 168
    Par d�faut Affichage par page page : pages blanches � la fin
    bonjour,
    je fais (tente de faire) un affichage page par page des r�sultats d'une requ�te.
    Les premi�res pages indiquent les bons r�sultats, mais apr�s il y a des liens vers des pages vides.

    En outre, le nombre total de r�ponses indiqu�es est inexact, et, en plus, il a l'air li� au contenu d'une cellule : si mon premier r�sultat affich� a pour contenu de la cellule "lieu", 75012, on m'indiquera : il y a75 r�ponses.
    Si le contenu de la cellule lieu est 91000 on m'indiquera il y a 91 r�ponses. Si il y a en fait 30 r�ponses, les 30 premi�res pages seront OK, les 61 suivantes seront vides...

    Voici le code de la requ�te qui permet de calculer le nombre total de r�ponses et de l'afficher.

    Si quelqu'un comprend le probl�me, je veux bien ses lumi�res.

    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
     
    // on prépare une requête permettant de calculer le nombre total d'éléments qu'il faudra afficher sur nos différentes pages
    	 $sql = 'SELECT lieu, description, activite, dates, tarifs, horaires, adresse, adresse2, cp, ville, public, s_nom, aide_ac.c_civ, aide_ac.c_tel, aide_ac.c_email FROM aide_ac, aide_st where aide_ac.structure=aide_st.s_clef'; 
    			if (isset($_SESSION['public'])&&($_SESSION['public'])!="#") 
    			{ 
    		   $sql .= ' AND  public = "'.$_SESSION['public'].'"'; 
    			} 
    			if (isset($_SESSION['lieu'])&&($_SESSION['lieu'])!="#") 
    			{ 
      			 $sql .= ' AND  lieu = "'.$_SESSION['lieu'].'"'; 
    			} 
    			if (isset($_SESSION['activite'])&&($_SESSION['activite'])!="#") 
    			{ 
      			 $sql .= ' AND  activite = "'.$_SESSION['activite'].'"'; 
    			}
    			if (isset($_SESSION['mot'])&&($_SESSION['mot'])!="#") 
    			{ 
    			$sql .= ' AND  (description LIKE "%'.$_SESSION['mot'].'%" OR  lieu LIKE "%'.$_SESSION['mot'].'%" OR  dates LIKE "%'.$_SESSION['mot'].'%" OR  specifique LIKE "%'.$_SESSION['mot'].'%")';
    			}
    // on exécute cette requête
    $resultat = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
     
    // on récupère le nombre d'éléments à afficher
    $nb_total = mysql_fetch_array($resultat);
     
    // on teste si ce nombre de vaut pas 0
    if (($nb_total = $nb_total[0]) == 0) {
        echo 'Aucune activité ne correspond à vos critères de recherche.';
    }
    else {
    echo '<span class="txtp"> il y a '.$nb_total.' réponse(s) correspondant à votre recherche</span> ';
    merci beaucoup pour votre aide.

  2. #2
    Membre averti
    Inscrit en
    Janvier 2006
    Messages
    19
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 19
    Par d�faut Re: Affichage par page page : pages blanches � la fin
    1 :
    Tu devrais utiliser la fonction COUNT pour tes requ�tes SQL de comptabilisation : http://sql.developpez.com/sqlaz/ensembles/

    2 :

    Lorsque tu fais �a :


    Citation Envoy� par carelha
    if (($nb_total = $nb_total[0]) == 0) {
    echo 'Aucune activit� ne correspond � vos crit�res de recherche.';
    }
    else {
    echo '<span class="txtp"> il y a '.$nb_total.' r�ponse(s) correspondant � votre recherche</span> '; [/code]

    tu vas affecter le lieu au r�sultat de ta recherche avec ton if (simple "=" est une affectation) car avec le $nb_total = mysql_fetch_array($resultat) on r�cup�re un tableau avec toute les donn�es du SELECT et non le nombre de r�sultat.

    Utilise ton mysql_fetch_array pour afficher tes recherches tout simplement, mais ne modifies pas son contenu.
    Tu devrais jeter un oeil sur les tutoriels MySQL pour plus de d�tails.

  3. #3
    Membre confirm� Avatar de carelha
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    168
    D�tails du profil
    Informations personnelles :
    Localisation : France, Yvelines (�le de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 168
    Par d�faut
    Merci,

    j'ai mis

    au tout d�but de la requ�te et tout est affich� correctement

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Moteur de recherche, affichage par page et url rewriting
    Par paupiette dans le forum Langage
    R�ponses: 5
    Dernier message: 22/06/2007, 10h45
  2. [FPDF] Affichage par page
    Par kagura dans le forum Biblioth�ques et frameworks
    R�ponses: 7
    Dernier message: 16/05/2006, 12h33
  3. [MySQL] Probl�me d'affichage par page
    Par nal dans le forum PHP & Base de donn�es
    R�ponses: 23
    Dernier message: 29/04/2006, 14h00

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