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 :

Tri dans un tableau. Code fonctionne mais.. [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2011
    Messages : 48
    Points : 22
    Points
    22
    Par défaut Tri dans un tableau. Code fonctionne mais..
    Bonjour,
    Je récupère les valeur de ma table dans un tableau et je désire pouvoir la trier en cliquant sur le titre de la colonne.
    Voici 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
    echo '<FIELDSET><LEGEND align=top> Toutes les réponses </LEGEND>
    <table class="tableau"><tr><th colspan="5" class="titre">Les réponses</th></tr>
    <tr class="sous_titre"> 
    <th><a href="index.php?tri=id">ID</a></th>
    <th><a href="index.php?tri=reponse">Réponse</a></th>
    <th><a href="index.php?tri=date">Date</a></th>
    <th><a href="index.php?tri=mail">Mail</a></th><th>';
    echo $nb_rep;
    echo '</th></tr>';
     
    /* tri des colonnes */
    if(isset($_GET['tri']) && !empty($_GET['tri'])){
    $val = $_GET['tri']; /* fin du tri */
    $res = mysql_query("SELECT * FROM question ORDER BY $val DESC");
    }
    else
    {
    $res = mysql_query("SELECT * FROM question");
    }
    while ($donnees = mysql_fetch_array($res))
    {
    echo "<tr bgcolor=\""; echo switchcolor(); echo "\"><td>";
    echo $donnees['id']; 
    echo '</td><td>';
    echo $donnees['reponse']; 
    echo '</td><td>';       
    echo date('d-m-Y H:i:s', strtotime( $donnees['date'] )); 
    echo '</td><td>';
    echo $donnees['ip']; 
    echo '</td><td>';
     
    /* checkbox de suppression */
    echo "<center><input type='checkbox' name='delete[]' value='".$donnees['id']."' /></center></td></tr>";
    }
    /* bouton valider la suppression */
    echo '</table><div align="right"><input name="Supprimer" value="Supprimer" type="submit"></div>';
    echo '</table></FIELDSET>
    Le tri fonctionne, mais dans un seul sens, j'aimerai que le même lien alterne une fois ASC et la fois suivante DESC. Ou encore 2 lien a coté du titre (1er lien=ASC et 2eme lien=DESC)

    Et tant que je vous tient, j'ai un bouton qui supprime les checkbox sélectionnées, mais le tableau se trouve en bas de la page, quelqu'un sait comme faire en sorte que lorsque la page se recharge, elle revienne sur le tableau? (j'ai essayé de bidouiller quelque chose avec une ancre mais j'trouve pas du tout)
    Merci a vous et bonne journé

  2. #2
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Hello

    Tu peux aussi utiliser un plugin jQuery pour faire ça, ça te simplifiera la vie: http://tablesorter.com/docs/

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2011
    Messages : 48
    Points : 22
    Points
    22
    Par défaut
    J'ai déjà essayé tablesorter mais je n'y ai absolument rien compris...
    j'ai installé, suivi la procédure et rien n'apparait.....

  4. #4
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Comment ça "rien n'apparaît" ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2011
    Messages : 48
    Points : 22
    Points
    22
    Par défaut
    Ça y est ça marche.....
    C'est juste que les flèches sont invisibles apparemment , donc je voyais rien, et en cliquant par hasard dessus ça a fonctionné...
    Comment changer la couleur de ces flèches invisibles????

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2011
    Messages : 48
    Points : 22
    Points
    22
    Par défaut
    Ca y est, tout fonctionne bien, juste les yeux qui n'étaient pas en face des yeux...
    Pour faire apparaitre les flèches il faut faire un css avec l'url des images et ne pas oublier les balises <thead></thead><tbody></tbody>.
    Bon tableau est tout joli maintenant... sauf que j'en ai 4 sur la même page.....
    comment faire?
    faire 4 tablesorter.js avec un nom différent et changer le nom des variable???

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2011
    Messages : 48
    Points : 22
    Points
    22
    Par défaut
    ca y est, tout fonctionne, il suffisait de changer l'id dans <table> (tablesorter1 tablesorter2 etc...)
    bonne journée a vous.
    Je voulais mettre résolu mais je ne sais pas comment on fait sur le forum

  8. #8
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    En PHP tu pourra ajouter un autre paramètre ordre et le faire entrer dans ta 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
    echo '<FIELDSET><LEGEND align=top> Toutes les réponses </LEGEND>
    <table class="tableau"><tr><th colspan="5" class="titre">Les réponses</th></tr>
    <tr class="sous_titre"> 
    <th><a href="index.php?tri=id&order=<?php if (isset($_GET["order"])){ if($_GET["order"] =="asc") echo "desc"; else echo"asc"; } ">ID</a></th>
    <th><a href="index.php?tri=reponse">Réponse</a></th>
    <th><a href="index.php?tri=date">Date</a></th>
    <th><a href="index.php?tri=mail">Mail</a></th><th>';
    echo $nb_rep;
    echo '</th></tr>';
     
    /* tri des colonnes */
    if(isset($_GET['tri']) && !empty($_GET['tri'])){
    $val = $_GET['tri']; /* fin du tri */
    $order = $_GET['order'];
    $res = mysql_query("SELECT * FROM question ORDER BY $val $order");
    }
    A la recherche d'un film : http://chercher-un-film.com

  9. #9
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    J'ai marqué la discussion en résolu, à l'avenir tu constatera qu'il y a ce boutton en bas de page

    C'est bien que tu aies réussi à trouver les solutions tout seul, c'est comme ça qu'on progresse vraiment, bien joué

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

Discussions similaires

  1. Tri dans un tableau à deux dimensions
    Par Neuromancien2 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/08/2007, 12h59
  2. Tri dans un tableau
    Par MegaNam dans le forum Fortran
    Réponses: 5
    Dernier message: 22/03/2007, 14h43
  3. [Tableaux] question recherche et tri dans un tableau
    Par nicopoal dans le forum Langage
    Réponses: 7
    Dernier message: 25/01/2007, 16h41
  4. [Tableaux] Tri dans un tableau
    Par ssebuser dans le forum Langage
    Réponses: 11
    Dernier message: 12/12/2006, 20h29
  5. Tri dans un tableau et indices
    Par size_one_1 dans le forum C
    Réponses: 10
    Dernier message: 16/05/2006, 00h17

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