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

JavaScript Discussion :

Création "Pages suivantes" en utilisant les sessions


Sujet :

JavaScript

  1. #1
    Membre averti
    Inscrit en
    Février 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 36
    Par défaut Création "Pages suivantes" en utilisant les sessions
    Bonjour tout le monde,

    Je suis novice dans le développement et tout nouveau dans le monde du javascript. Je suis entrain de me créer un petit projet pour évoluer dans le javascript.
    J'ai un tableau qui affiche les utilisateur d'une BDD (j'utilise php pour celà) et j'aimerai que ma page n'affiche que 10 utilisateur maximum et ensuite cliquer sur des liens "1", "2", etc... pour afficher la suite du tableau.

    J'ai essayé pas mal de chose en php mais comme j'utilise les sessions bah ça ne fonctionne pas. J'aimerai savoir si il y avait une solution en javascript.

    Merci d'être claire car j'ai du mal à comprendre le javascript mais je persévère !!

    Voici mon code afin que je sois le plus claire possible dans mes explications

    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
    <script language="javascript">
    function toutcocher()
    {
     var valeur=document.getElementById("allsuppr").checked;
    	for(i=0;i<document.forms['formAdminGestUser'].length;i++)
    	{
    		if(document.forms['formAdminGestUser'].elements[i].type=="checkbox")
    		document.forms['formAdminGestUser'].elements[i].checked=valeur;
    	}
    }
    </script>
     
    <?php
    if(!defined('IN_INDEX')){
            exit();
    }
     
    $_SESSION['action']="module/administration/action.php"; 
             echo'
                    <form method="post" id="formAdminGestUser">
                            <table border="3">
                            <caption>Liste des utilisateurs</caption>
                            <tr align="center" height="40">
                                    <th><input id="allsuppr" type="checkbox" name="allsuppr" onclick="toutcocher();" value="'.$ligne->id.'"</th>
                                    <th>Login</th>
                                    <th>Nom</th>
                                    <th>Prénom</th>
                                    <th>Profil</th>
                                    <th>Mail</th>
                                    <th>Rue</th>
                                    <th>Code Postal</th>
                                    <th>Ville</th>
                                    <th>Téléphone Fixe</th>
                                    <th>Téléphone Portable</th>
                            </tr>';
     
            
            $resultats=$connexion->query('SELECT id,login,nom,prenom,profil,mail,rue,cp,ville,tel_fixe,tel_portable FROM collaborateur ORDER BY id'); // on va chercher tous les membres de la table
            while( $ligne = $resultats->fetch(PDO::FETCH_OBJ) ) // on récupère la liste des membres
            {
                    echo '<tr align="center" height="40">';
                    echo '<td><input type="checkbox" name="check[]" value="'.$ligne->id .'"</td>'; //cela va permettre de pouvoir supprimer 
                    echo '<td>'.$ligne->login.'</td>';
                    echo '<td>'.$ligne->nom.'</td/>';
                    echo '<td>'.$ligne->prenom.'</td>';
                    echo '<td>'.$ligne->profil.'</td>';
                    echo '<td>'.$ligne->mail.'</td>';
                    echo '<td>'.$ligne->rue.'</td>';
                    echo '<td>'.$ligne->cp.'</td>';
                    echo '<td>'.$ligne->ville.'</td>';
                    echo '<td>'.$ligne->tel_fixe.'</td>';
                    echo '<td>'.$ligne->tel_portable.'</td>';
                    echo '</tr>';
            }
            $resultats->closeCursor(); // on ferme le curseur des résultats
     
            echo "</table>";
            
    ?>
     
    	<br/>
    	<input type="submit" value="Ajouter un utilisateur" name="gesAjou">
    Merci pour votre aide

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    pourquoi ne pas utiliser l'option limit de mysql pour ta requète en passant des variable sur tes boutons suivant ?

    cela s'appel un script de pagination , tu pourras en trouver dans la ssection php sinon si tu souhaites faire ça en javascript => ajax

  3. #3
    Membre averti
    Inscrit en
    Février 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 36
    Par défaut
    Merci pour ta réponse,

    J'avais essayé l'option limit mais j'arrivais pas faire fonctionner mes liens

    Je vais regarder pour le script de pagination en espérant que cela ne pose pas de problème vu que je passe par les sessions.

    Je vous tiens au courant

  4. #4
    Membre averti
    Inscrit en
    Février 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 36
    Par défaut
    Voilà j'ai trouvé une solution mais je n'arrive pas à la faire fonctionner...!

    Faut calculer le début et la fin de la pagination. Ca c'est pas dure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     $start = ($p - 1 ) * NB_COM_PER_PAGE ;
     $end = NB_COM_PER_PAGE;
    Ensuite, il faut créer une variable qui va permettre de définir le "limit" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $limit = "LIMIT ".$start.",".$end;
    Tu colle ça à la fin de la requête en utilisant une fonction spécial dans le SELECT :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $resultats=$connexion->query('SELECT QL_CALC_FOUND_ROWS * , id,login,nom,prenom,profil,mail,rue,cp,ville,tel_fixe,tel_portable FROM collaborateur ORDER BY id'.$limit);
    Et ensuite, il faut faire une requête pour chopper le nombre de champs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $connexion->query(' SELECT FOUND_ROWS() as nbcomment');
    et la ta le nombre de pages (le nombre de champ maximal)
    Après il faut calculer le nombre de page avec un truc du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ( $resultatnbpage / NB_COM_PER_PAGE )
    Le but de cette méthode c'est d'être peut gourmand en ressource. On peut faire un COUNT mais ça va prendre plus de temps.

    Donc j'aurais besoin d'aide pour savoir comment utiliser tout ces éléments car je "galère" vraiment là.

    Merci de votre aide. J'espère que ce post va pouvoir être résolu car faire de la pagination avec PDO je n'ai pas trouvé sur google et je pense que ça va permettre d'aider un bon nombre de personnes

Discussions similaires

  1. Réponses: 1
    Dernier message: 25/03/2013, 14h34
  2. [Forum] Création des pages suivantes et précedentes
    Par akime dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 19/01/2010, 05h34
  3. Réponses: 3
    Dernier message: 06/12/2007, 12h01
  4. Utiliser les sessions de phbBB dans d'autres pages
    Par charliejo dans le forum Langage
    Réponses: 2
    Dernier message: 27/05/2006, 08h55

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