Tri tableau par un lien sur entête de colonne

cs_mezees Messages postés 6 Date d'inscription dimanche 22 février 2004 Statut Membre Dernière intervention 23 décembre 2005 - 22 févr. 2004 à 10:22
gibozsec Messages postés 318 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 11 mars 2010 - 24 févr. 2004 à 02:43
bonjour,
je cherche un script qui me permettrait :
- d'afficher dans une page, un tableau qui vient d'une base sql (ça je sais faire...)
- d'avoir sur certaines entêtes de colonne, un lien (ou un bouton) qui permettrait de rebalancer le tableau trié sur ce critère
- l'idéal serait : un clic, on tri croissant, un autre clic sur la même colonne, on re-tri décroissant.. - et donc ça pour trois colonnes

La difficulté vient du mélange php/html... je débute !!
Faut-il un lien vers une fonction (si ça existe ?) ?
Faut-il un bouton ?
Comment mettre en place un drapeau pour savoir si on tri ascend. ou desc. ?
Merci de vos lumières, conseils...
pour l'instant, voilà le code pour afficher les entêtes :
exemple pour les trois premières colonnes
<td>RNE</td>
<td>NOM</td>
<td>TYPE</td>
et le code pour afficher le contenu de la base :
<?
while($ligne = mysql_fetch_array($dbResult))
{
extract($ligne);
print("<TR>n");
?>
<td>

size="2">
<? if ("$rne"==""){$rne="-";}print("$rne");
?>
</td>
<td>

<? if ("$nom"==""){$nom="-";}print("$nom");?>

</td>
<td>

<? if ("$type"==""){$type="-";}print("$type");?>

</td>

ps : il y a un test devant pour remplir la cellule avec "-" si elle est vide pour éviter les bizarrerie des border du tableau...

4 réponses

gibozsec Messages postés 318 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 11 mars 2010
23 févr. 2004 à 02:01
Lit les sources de phpMyAdmin, tu trouvera ce que tu cherche.

?-) Grrrrrrrrrrr ?-)
0
cs_mezees Messages postés 6 Date d'inscription dimanche 22 février 2004 Statut Membre Dernière intervention 23 décembre 2005
23 févr. 2004 à 22:17
bien ...!!
grand merci...
tu précises où ?
0
gibozsec Messages postés 318 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 11 mars 2010
24 févr. 2004 à 02:40
Là ou tu peux afficher le contenu d'une table.

Sinon voila mon idée :

tu ajoute une variable $champ pour savoir selon quel champ du doit trier et une variable $ordre pour savoir si le tri est croissant ou decroissant.

Qd tu affiche la page tu fait ta requete : $requete= "SELECT * FROM maTable ORDER BY $champ $ordre"

Pour l'entête du tableau tu fais un truc du genre:


if($champ=="RNE" && $ordre=="DESC") $tampon="ASC";
else $tampon="DESC";
echo"<td>  RNE  


Je suis pas sur du code alors verifie le.
Par contre si tu fait un lien vers cette page il faudra un lien avec les paramètres par défaut (ex:maPage.php?champ =RNE&ordre=DESC)

Bon courrage pour la suite de ton travail.

?-) Grrrrrrrrrrr ?-)
0
gibozsec Messages postés 318 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 11 mars 2010
24 févr. 2004 à 02:43
Désolé ya une erreur, j ai oublié les "else" pour NOM et TYPE

?-) Grrrrrrrrrrr ?-)
0
Rejoignez-nous