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 :

trier le resultat d'une requête


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
    Octobre 2005
    Messages
    263
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 263
    Par défaut trier le resultat d'une requête
    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
     
    .
    .
    .
    <? $query="select agent.* from agent";
        $result=mysql_query($query);
    ?>
    <table>
      <tr>
        <td>code</td>
        <td>nom</td>
        <td>prenom</td>
        <td>adresse</td>
          </tr>
    <? while ($row = mysql_fetch_array($result)) {   ?>
      <tr>
        <td><? echo $row['code'] ?></td>
        <td><? echo $row['nom'] ?></td>
        <td><? echo $row['prenom'] ?></td>
        <td><? echo $row[adresse] ?></td>
        </tr>
    <?  } ?>
    </table>
    .
    .
    .
    existe t-il une possibilité de modifier le classement des enregistrements du resultat ($result): par ordre croissant ou decroissant au choix (code,nom,prenom,adresse) sans excuter de nouveau la requête ?

  2. #2
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    mets une clause ORDER BY dans ta requête

  3. #3
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    263
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 263
    Par défaut lumière
    Citation Envoyé par Eusebius
    mets une clause ORDER BY dans ta requête
    Pour le premier resultat je fais ORDER BY champs ASC ou bien DESC c'est BON.

    J'ai une page avec un tableau comprenant ;
    4 colonnes(code,nom,prenom,adresse) et x enregistrement(s)

    je veux sans executer une nouvelle requête trier le result de la requête precedente.

    trier sur le code ; sur click de l'entête code
    trier sur le nom ; sur click de l'entête nom
    trier sur le prenom ; sur click de l'entête prenom


  4. #4
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    OK, j'avais pas tout saisi ce que tu voulais. Eh bien, tu mets tout ça dans un tableau php, et tu tries le tableau à la demande (avec rechargement de la page). Sans rechargement de la page, faut renseigner une variable javascript en mettant ton tableau dedans, et le trier pareil, mais côté client.

  5. #5
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249

  6. #6
    Membre expérimenté Avatar de Cpas2latarte
    Inscrit en
    Janvier 2006
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 237
    Par défaut Tri d'un tableau HTML
    Bonjour,

    Il est possible de trier un tableau (HTML) de présentation de résulat sans recharger la page (donc sans refaire la requête). Mais l'implémentation n'est pas trivial.

    Pour simplifié il faut ajouter un gestionnaire d'evenement sur l'entête de la colonne (onclick/ondblclick) qui réalise le trie.
    Ce trie consite à , à l'aide du D.O.M, parcourir les lignes tableau, comparer les valeur des cellule et si besoin, intervertire les positions (application d'un algo de tri à l'aide du DOM).

    Plus d'aide devrais être disponnible sur le forum JavaScript, voir également des codes existant.

    La consultation de la doc du DOM, devrait permetre l'eclaircissement de certains points, notamment les methodes et propriétés contenant "node" (ex : appendChild, cloneNode, childNodes,nodeValue, etc..)

    De plus, si le tableau est grand (grand nombre de lignes), le tri sans recharger la page peut être moins performant qu'un tri classique (order by dans la requête, puis rechargement de la page).
    Enfin, Ce genre de fonction recontre souvent les limite de la compatibilité inter-navigateur. Il faut souvent faire plusieurs version du script, pour controuner ces problèmes de compatibilités

Discussions similaires

  1. Impossible d'exporter le resultat d'une requête
    Par uloaccess dans le forum Access
    Réponses: 5
    Dernier message: 21/02/2008, 19h20
  2. affichage du resultat d'une requête
    Par PAUL87 dans le forum Access
    Réponses: 3
    Dernier message: 25/09/2005, 20h12
  3. Resultat d'une requête dans TEdit
    Par the watcher dans le forum Connexion aux bases de données
    Réponses: 5
    Dernier message: 08/09/2005, 18h00
  4. [SQL Server] Limiter le resultat d'une requête
    Par obiwan dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 02/06/2004, 11h25
  5. Proposer le resultat d'une requête en téléchargement
    Par Lux interior dans le forum XMLRAD
    Réponses: 5
    Dernier message: 17/02/2003, 15h44

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