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

PHP & Base de données Discussion :

[Conception] Affichage page par page


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Angelik
    Profil pro
    Inscrit en
    Août 2006
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 253
    Par défaut [Conception] Affichage page par page
    J'ai mis en place un petit moteur de recherche par département qui m'ouvre une page avec tous les inscrits par département. Jusque là tout va bien.
    Maintenant, au lieu de m'afficher tous les résultats sur une seule page, j'aimerais arriver à un affichage page par page avec 5 résultat par pages.

    Voilà 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
    45
    46
     
     
    <?php
     
     
    include "configuration.php";
    include "page_haut.inc";
     
     
    		$search = mysql_query("SELECT * FROM $mbmembres WHERE sid='$sid'") or die ("ERROR:" . mysql_error());
    		$num = mysql_num_rows($search);
     
    if ($num == 0) {
     
     
     
     
    			echo "<table border=\"0\">";
    			echo "<tr>";
    			echo "<td>Il y a <b>$num</b> résultats: </b></td>";
    				echo "</tr><tr>";
    			echo "<td></td>";
    			echo "</tr><tr>";
    			echo "<td class=\"moyen\">Pas de résultats!</td>";
    			echo "</td>";
    			echo "</tr>";
    			echo "</table>";
     
    include "page_bas.inc";
    		} else {
     
     
    			echo "<table border=\"0\" width=90%>";
    			echo "<tr bgcolor=#000099>";
    			echo "<td><font color=white><b><font color=white>Il y a <b>$num</b> résultats</font> </b></td>";
    			echo "</tr><tr></table>";
    			while ($row = mysql_fetch_row($search)) {
     
    				echo "<table border=0 width=90%>
    <tr><td width='50%'>
    <a href=\"$row[6]\" alt='fiche membre'><center><font class=grand><b>$row[3]</b></font></a></center></td>";
    		[...]
    }
    include "page_bas.inc";
    		}
    ?>
    Je suis partie sur divers scripts que j'ai essayée d'adapter mais sans succès...

    Une piste à me suggérer ?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 99
    Par défaut
    je peux deja te donner une piste, tu rajoute LIMIT 0, 5 dans ta requête et tu incrémente pour chaque page, ton adresse sera du style pagebidule.php?n=0

    tu passe dans l'url un n = 0 par exemple et ta requête devient du style
    $n = $_GET['n'];
    $search = mysql_query("SELECT * FROM $mbmembres WHERE sid='$sid' LIMIT ".$n.", ".$n+5.") or die ("ERROR:" . mysql_error());
    et tu appele tes pages suivantes avec n = 5, 10, 12 si ca te chante ca te selectionnera 5 a 10, 10 a 15 ou 12 a 17

  3. #3
    Membre éclairé Avatar de Angelik
    Profil pro
    Inscrit en
    Août 2006
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 253
    Par défaut
    Je viens d'insérer ma requête avec LIMIT comme tu me le suggérais ci-suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    $n = $_GET['n'];
    $search = mysql_query("SELECT * FROM $sbbproduit WHERE sid='$sid' LIMIT '.$n.', '.$n+5.'") or die ("ERROR:" . mysql_error());
    $num = mysql_num_rows($search);
    mais le message d'erreur suivant apparaît

    ERROR:You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ''..', '.+5.'' at line 1
    ...

  4. #4
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $n = $_GET['n'];
    $search = mysql_query("SELECT * FROM $sbbproduit WHERE sid='$sid' LIMIT '.$n.', '.$n+5.'") or die ("ERROR:" . mysql_error());
    $num = mysql_num_rows($search);
    Il y a ce message à cause de l'alternance de quote et de double quote. DOnc à modifier pour obtenir ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    mysql_query("SELECT * FROM $sbbproduit WHERE sid='$sid' LIMIT ".$n.", ".($n+5).") or die ("ERROR:" . mysql_error());
    $num = mysql_num_rows($search);
    Une simple erreur de syntaxe

    et ton $n s'il est vide il faire quelque chose pour qu'il soit mis à 0

  5. #5
    Membre éclairé Avatar de Angelik
    Profil pro
    Inscrit en
    Août 2006
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 253
    Par défaut
    Je me mets en mode [comprend rien] mais maintenant j'ai le message suivant :

    Parse error: syntax error, unexpected T_STRING in /home.2/lavieaut/www/MB/souscat.php on line 8
    Comment cela se fait-il ?

  6. #6
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Par défaut
    Tout simplement parce que tu as une erreur de variable.

    Par exemple je t'ai dit que ton $n doit TOUJOURS exister sinon ca pose un problème avec l'addition dans ta requete. Et c'est peut etre de là que vient ta parse error.

    Il faudrait mettre ton code et voir aussi comment tu génères les liens pour les différentes pages. Si tu veux voir un exemple de pagination regardes ceci : Pagination d'un résultat de requête

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

Discussions similaires

  1. Affichage ipconfig /displaydns page par page? windows7
    Par destructive.flame dans le forum Windows
    Réponses: 1
    Dernier message: 28/02/2014, 08h00
  2. [MySQL] Affichage du résultat page par page (pagination)
    Par marcito dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 20/07/2007, 14h53
  3. [MySQL] Affichage page par page et requêtes du type $sql .=
    Par carelha dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 06/04/2006, 17h12
  4. [Tableaux] PB liens apres affichage page par page
    Par x2thez dans le forum Langage
    Réponses: 16
    Dernier message: 15/03/2006, 16h58
  5. [MySQL] afficher plusieurs enregistrements par page par page à la volée
    Par pod1978 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 14/03/2006, 12h22

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