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 :

Créer une pagination


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2003
    Messages
    361
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 361
    Par défaut Créer une pagination
    Bonsoir,
    j'aimerai créer une pagination sur une page de recherche de données. Lorsque la recherche est infructueuse, les champs du formulaire apparaissent vides, dans le cas contraire, c'est tableau avec les enregistrements qui apparairait.
    J'aimerai que les 5 enregistrments apparaissent sur la page. Et tant qu'il ya des enregistrements, les champs du formulaire n'apparaissent pas, mais plutot les enregistrements.
    COmment faire?

  2. #2
    Membre émérite
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Par défaut
    Ben heuuuu... si je comprend bien ta question :
    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
    
    
    echo '<table><tr><td colspan="3">Reponses</td></tr>';
    $i = 0;
    $reponse =  mysql_query('requete de recherche');
    if(while myslq_fetch_array($reponse))
    {
       $i++;
       echo '<tr><td>'.$reponse['0'].'</td><td>'.$reponse['1'].'</td><td>'.$reponse['2'].' </td></tr>';
    }
    if(!$i)
    {
          echo '<tr><td colspan="3">Pas de réponses...</td></tr></table>';
          echo 'ton formulaire ici !';
    }
    else
    {
          echo '</table>';
    }
    par exemple...

  3. #3
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Salut

    Peut-être que le code proposé par ePoX pourra t'être utile : http://www.developpez.net/forums/sho...87&postcount=9

    Bonne chance

  4. #4
    Membre éclairé
    Inscrit en
    Mai 2003
    Messages
    361
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 361
    Par défaut
    Bonjour, je pense que j'ai pas bien expliqué ce que je voulais ...je complète mes explications.
    En fait je parle de mettre sur chaque page lorsque qu'on a trouvé des enregistrements , page précédente et page suivante.
    Lorsque la recherche est infructueuse, les champs du formulaire apparaissent vides, dans le cas contraire, c'est tableau avec les enregistrements qui apparairait.
    J'aimerai que les 5 enregistrments apparaissent sur la page, s'il y a en encore, on passe à la page suivante et précédente. Et tant qu'il ya des enregistrements, les champs du formulaire n'apparaissent pas, mais plutot les enregistrements.

  5. #5
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Oui...

    Tel que je te l'ai suggéré par MP, il nous faudrait la structure de cette table pour pouvoir t'aider correctement.
    En attendant, nous ne pouvons que t'indiquer des orientations possibles.

    Un prédécesseur : Résultat d’une requete

    De manière générale, tu pourrais faire une recherche avec le mot clef "pagination".

  6. #6
    Membre éclairé
    Inscrit en
    Mai 2003
    Messages
    361
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 361
    Par défaut
    bonjour,
    en réalité, en cliquant sur le lien 'suivant', quand il ya encore des enregistrements, le fomulaire des champs s'affiche et c'est ce controle dont j'ai besoin, empecher l'affichage de ce formulaire, mais afficher le tableau des enregistrments.

    ce qui ce passe:
    je cherche les cleints dont les noms commencet par "a". 2 enregistrements apparaissent. Puis en cliquant sur "suivant", le formulaire avec les boutons apparait. en cliquant sur le "ok" du formulaire, les 2 autres enregistrments (suivant) apparaissent , ainsi de suite...

  7. #7
    Membre éclairé
    Inscrit en
    Mai 2003
    Messages
    361
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 361
    Par défaut
    j'initialise une variable au début du formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    $currentPage = $_SERVER["PHP_SELF"];
     $trouve=2; //pour l'affichage du formulaire pour la saisie des éléments de la recherche
    Lorsque les enregistrements sont trouvés on a:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if ($totalRows_rsclient>0)
          { $trouve=1;   $message = 'Enregistrement trouvé';} 
    	else
    	{   $trouve=2;$message = 'Enregistrement non trouvé.';
    	}
    Puis au niveau du formulaire même:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php  if (  (isset($trouve))  && ($trouve==2)  && (    (isset($totalPages_rsclient)) && (isset($pageNum_rsclient))  &&  ($pageNum_rsclient=$totalPages_rsclient=0) ) ) {
    pour l'affichage du tableau des enregistrements:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php  if (  ((isset($trouve))  && ($trouve==1)) && ( (isset($totalPages_rsclient)) && (isset($pageNum_rsclient))  &&  ($pageNum_rsclient <= $totalPages_rsclient) )   ) 
    {?>
    A la fin, pour réinitialiser les valeurs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     <?php 
     if  ($pageNum_rsclient == $totalPages_rsclient) {$pageNum_rsclient=0;  $totalPages_rsclient=0;} ?>
     
    <?php } } //}
    ?>

  8. #8
    Membre éclairé
    Inscrit en
    Mai 2003
    Messages
    361
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 361
    Par défaut
    bonjour, après plusiseurs tests, je me rends compte qu'il ya un compteur qui meme sans avois éffectué une recherche, contient toujours une valeur.
    Je voudrais donc forcer sa valeur, car malgré la valeur que j'affecte 0, sa valeur ne change pas au départ:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     if  ( (isset($totalPages_rsclient)) && (isset($pageNum_rsclient))  && ($pageNum_rsclient == $totalPages_rsclient))
    {$pageNum_rsclient=0;  $totalPages_rsclient=0;
    }

Discussions similaires

  1. [Crystal Report 8] créer une source de données oracle
    Par Lina dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 14/11/2002, 13h53
  2. [Réseau] Créer une connexion Internet
    Par Tranber dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 17/10/2002, 17h01
  3. créer une arborescence windows sous forme d'arbre java
    Par chupachoc dans le forum Composants
    Réponses: 3
    Dernier message: 01/10/2002, 16h48
  4. Créer une fenêtre flottante qui ne peut avoir le focus
    Par BestofMac dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/07/2002, 10h46
  5. Peux t'on créer une copie locale de l'objet partagé?
    Par Anonymous dans le forum CORBA
    Réponses: 8
    Dernier message: 16/04/2002, 16h20

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