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 :

Affichage page par page des résultats


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 308
    Points : 50
    Points
    50
    Par défaut Affichage page par page des résultats
    Bonjour,
    je ne suis pas arrivé à trouver une solution à mon affichage page par page.
    J'ai changé de code et voici ce code ci dessus que j'ai pris sur un autre site.
    Si j'execute il m'affiche seulement le lien page suivante.
    Merci bien de m'aider à corriger ce problème!
    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
    47
    48
    49
    50
    51
     
    <?php
     
    $cnx = mysql_connect( "localhost", "root", "" );
    //sélection de la base de données:
    $db= mysql_select_db( "maBD" );
     
     
    $recherche = $_POST["recherche"];
     
    $nombre = 5; // on va afficher 5 résultats par page.
    if (!isset($limite)) $limite = 0; // si on arrive sur la page pour la première fois
    // on met limite à 0.
     
     
    $path_parts = pathinfo($_SERVER['PHP_SELF']);
    $page = $path_parts['basename'];
     
     
     
     
    $limitesuivante = $limite + $nombre;
     
    $limiteprecedente = $limite - $nombre;
     
    $select = "SELECT * FROM texte where MATCH (contenu) AGAINST('$recherche') limit ".$limite.",".$nombre;
     
     
    $result = mysql_query($select,$cnx) or die ('Erreur : '.mysql_error() );
     
    $row = mysql_fetch_row($result);
     
    $total = $row[0];
     
     
    if($limite != 0) {
    echo '<a href="'.$page.'?limite='.$limiteprecedente.'">Page précédente</a>';
    }
     
     
    if($limitesuivante < $total) {
    echo '<a href="'.$page.'?limite='.$limitesuivante.'">Page Suivante</a>';
    }
     
    while($tab = mysql_fetch_array($result,MYSQL_ASSOC))
    {
    echo"<a href='fonction2.php?numero=".$tab['numero']."&annee=".$tab['annee']."&nom=".$tab['nom']."&initiateur=".$tab['initiateur']."'>".$tab['intitule']."<br></a>";
     
    }
     
    ?>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (!isset($limite)) $limite = 0;
    $limite vaut donc toujours 0 puisqu'il n'est pas défini au dessus.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 308
    Points : 50
    Points
    50
    Par défaut affichage page par page
    Merci pour cette aide; je pense que $limite donne le nombre d'enregistrements deja affichés sur l'ensemble qui doit être affiché.
    Maintenant comment je peux arranger ce code afin qu'il marche.
    Je suis dessus depuis quelques jours maintenant.

    Merci bien de m'aider à le corriger!

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    En regardant en diagonale je dirais de remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (!isset($limite)) $limite = 0;
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $limite = isset($_GET['limite']) ? $_GET['limite'] : 0;
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 308
    Points : 50
    Points
    50
    Par défaut problème affichage page par page
    OK, merci dejà pour m'avoir aidé;

    J'ai changé comme vous l'avez proposé; mais mon problème persiste.

    En fait quand j'execute mon script il maffiche ceci: page suivante

    il affiche le terme "page suivante" en lien et il ne donne aucun resultat or il ya un resultat qu'il doit afficher.

    Merci toujours de m'aider à le corriger ou à me proposer autre chose.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu arrives bien sur cette page depuis un formulaire ou il y a un champ "recherche" ?
    Si tu lances directement ce script sans être passé par ce formulaire, il n'a rien a rechercher.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 308
    Points : 50
    Points
    50
    Par défaut probleme d'affichage page par page
    oui effectivement je rentre sur la page par un formulaire.voici le code de la page du formulaire html. le fichier du script est nommé essai_page.php.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <form action="essai_page.php" name="f2" method="post">
    		   <h2><center>Entrez vos termes de recherches</center></h2>&nbsp;
     
    		   <input name="recherche" type="text" size="80" />
    		   <input type="submit" value="Rechercher" />
    		   </form>
    Merci bien de m'aider!

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Est-ce que la premiere recherche fonctionne ou c'est juste le passage a la page suivante ?

    Il faut de toute façon que tu passes ton paramètre de recherche dans ta page suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $recherche = $_REQUEST["recherche"];
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if($limite != 0) {
    echo '<a href="'.$page.'?recherche=' . $recherche . '&limite='.$limiteprecedente.'">Page précédente</a>';
    }
     
    if($limitesuivante < $total) {
    echo '<a href="'.$page.'?recherche=' . $recherche . '&limite='.$limitesuivante.'">Page Suivante</a>';
    }
    Et prends le reflexe de protéger tes chaines dans les requêtes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $select = "SELECT * FROM texte where MATCH (contenu) AGAINST('" . mysql_real_escape_string($recherche) ."') limit ".$limite.",".$nombre;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $limite = isset($_GET['limite']) ? intval($_GET['limite']) : 0;
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 308
    Points : 50
    Points
    50
    Par défaut probleme d'affichage page par page
    quand j'ai inserré vos corrections, il ya une erreur qui a disparu car si je cliquait sur "page suivante " qu'il affichait il me disait que "recherche" etait non defini mais il ne me pose plus ce problème. Mais c'est toujours la meme chose qu'il affiche c'est à dire "page suivante" si je clique dessus il m'affiche "page precedente" il navigue entre ces deux affichages sans me donner un resultat de ma recherche or le terme que je cherche existe bel et bien.

    Vraiment merci toujours de m'aider!

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Fais un echo de $select pour voir ce que tu as comme requete.

    Et dis nous de manière précise ce que tu as comme problème : ça aurait été plus facile si tu nous avais dit que tu avais une erreur sur la plage, plutot que de nous dire qu'il n'y avait rien.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 308
    Points : 50
    Points
    50
    Par défaut affichage page par page
    Bonjour,
    voici ce qu'il m'affiche quan j'ai mis echo $select et mon texte de recherche est "code electoral et penal".

    SELECT * FROM texte where MATCH (contenu) AGAINST('code electoral et penal') limit 0,5Page Suivante

    Merci de m'aider toujours!

  12. #12
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Quand tu es sur cette requete, tu n'as pas de résultats affichées ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #13
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 308
    Points : 50
    Points
    50
    Par défaut affichage page par page
    Effectivement c'est ce qu'il affiche que j'ai copié/collé pour vous.
    Il n'affiche pas de resultat.
    Tout ce qu'il affiche c'est "page suivante".
    moi meme je ne comprend pas pourquoi.

    Mais est ce que la requete ci dessus aussi n'a pas de problème car la double cote d'ouverture de la requete (après =) n'est pas fermé or si je ferme aussi il ne connait plus les mots clé c'est à dire leurs couleurs change.
    Merci de m'aider!

    $select = "SELECT * FROM texte where MATCH (contenu) AGAINST('$recherche') limit ".$limite.",".$nombre;

  14. #14
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    car la double cote d'ouverture de la requete (après =) n'est pas fermé
    Si, elle est fermée apres LIMIT.

    Si tu executes la requete affichée dans phpmyadmin, tu as des lignes de résultat ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  15. #15
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 308
    Points : 50
    Points
    50
    Par défaut affichage page par page
    Bonjour,
    Je vous remercie d'abord car il ya eu un progrès. Il affiche les resultats maintenant mais si je clique sur suivant il me dit ceci:

    Undefined index: recherche in D:\Program Files\EasyPHP 2.0b1\www\monsites\test2_page.php on line 60

    Or recherche est bien defini par : $recherche = $_REQUEST["recherche"];

    Maintenant le premier affichage est bon mais quand je veux passer à une page suivante il me donne l'erreur.

    merci toujours de m'aider!

  16. #16
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    dans ton lien page suivante, tu as bien ?recherche=blablabla ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  17. #17
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 308
    Points : 50
    Points
    50
    Par défaut affichage page par page
    Non, dans ma page suivante je n'ai pas ce parametre.
    Quelle valeur je dois donner à ce parametre recherche?
    Aussi sur ma page precedente je dois mettre la même chose comme valeur du parametre?
    Merci bien de m'aider toujours!

  18. #18
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Quelle valeur je dois donner à ce parametre recherche?
    Je t'ai donné le code pour ca.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  19. #19
    Membre du Club
    Inscrit en
    Août 2009
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 308
    Points : 50
    Points
    50
    Par défaut affichage page par page
    Quand j'ajoute le paramètre recherche il me genère des erreurs :

    Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in D:\Program Files\EasyPHP 2.0b1\www\monsites\fonction_test_page_page.php on line 66

    Voici les codes en question:
    echo '<a href="'.$page.'?limite='.$limitePrecedente.'&recherche='blabla'">Page précédente</a>';
    echo '<a href="'.$page.'?limite='.$limiteSuivante.'&recherche='blabla'">Page Suivante</a>';
    Comme c'est le deuxième paramètre c'est pourquoi je l'ai ainsi mais ça me genere des erreurs.

    Merci toujours de m'aider!

  20. #20
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ca ne ressemble pas au code que j'ai écris.
    En particulier, tu as ajouté des apostrophes autour de ta recherche et une majuscule à $limitePrecedente et $limiteSuivante alors qu'il n'y a en a pas dans le premier code que tu nous a montré.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

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. Affichage page par page des résultats avec des pointillés pour les numeros de page
    Par lewhechris dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 27/10/2011, 12h15
  3. [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
  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