FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » Affichage dans tableaux alphabétiquement
 

Affichage dans tableaux alphabétiquement

Il y a 276 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : Affichage dans tableaux alphabétiquement
 
Plus d'informations

Bonjour à tous,
 
J'aurais besoin d'un peu d'aide pour développer un petit code.
 
Mise en situation :
Je suis en train de faire une encyclopédie.
Toutes mes fiches se trouvent dans une table :
==> site_ency <==
-> id
-> titre
-> etc
Donc ce que je veux faire c'est une page pour lister toutes mes fiches dans des tableaux, avec chaque tableau correspondant à une lettre de l'alphabet.
 
 
Ce que je veux afficher :
Je vous ai fait une tite image exemple pour mieux visualiser :
http://www.holonet-system.com/vf900/ex.gif
 
 
Comment je suis parti :

Code :
  1. $sql0="SELECT id, titre FROM site_ency ORDER BY titre";
  2. $req0=mysql_query($sql0) or die('Erreur SQL0 !<br>'.$sql0.'<br>'.mysql_error());
  3. while($data0 = mysql_fetch_assoc($req0))
  4.     {
  5. switch(substr($data0['titre'],0,1))
  6.         {
  7.     case "a":
  8.             $lettre='a';
  9.             $list.='-> <a class="l" href="#.php?id='.$data0['id'].'">'.$data0['titre'].'</a><br>';break;
  10.     case "b":
  11.             $lettre='b';
  12.             $list.='-> <a class="l" href="#.php?id='.$data0['id'].'">'.$data0['titre'].'</a><br>';break;
  13.         case "c":
  14.             $lettre='c;
  15.             $list.='-> <a class="l" href="#.php?id='.$data0['id'].'">'.$data0['titre'].'</a><br>';break;
  16.       // Pih autant de case qu'il y a de lettre dans l'alphabet...
  17.         }
  18.     }


 
Si je n'avais pas le design à respecter ca serait parfait, et c'est là où tout se complique  :cry:  
 
Donc au début je mettais dit tu fais une fonction qui va te sortir le design :

Code :
  1. function afflettre($lettre,$list)
  2.     {
  3.     if(empty($list))
  4.         {
  5.     return "";
  6.         }
  7.     else
  8.         {
  9.     return '
  10.     <table border="0" cellspacing="0" cellpadding="0" align="center">
  11.         <tr>
  12.             <td><img border="0" src="#/'.$lettre.'.gif" /></td>
  13.         </tr>
  14.         <tr>
  15.             <td>'.$list.'</td>
  16.         </tr>
  17.     </table><p>';
  18.         }
  19.     }


 
Pih là je me suis retrouvé bloqué, impossible d'insérer ma fonction où que ce soit... (l'idéal aurait été derrière chaque "break" mais malheureusement ca ne se fait pas  :non:  
 
 
Maintenant je déprime :
Me reste plus qu'à espérer que quelqu'un puisse m'aider car là ca me bloque totalement, toute aide pour me montrer comment régler mon problème sur ce que j'ai commencé à faire ou sur une toute autre voie n'est pas de refus !!!
 
 
PS :
Pour vous expliquer mon problème je vous ai fait un tableau tout simple mais au final c'est un design un peu recherché.

zeb
Profil : Modérateur libre
Plus d'informations

Moi je ne ferais pas comme ça :o Je gèrerais plutôt une rupture.
Je n'y connais rien en PHP, mais autrefois en COBOL, on faisait ça :

 
Code :
  1. Si data <- Fetch Alors
  2.     Lettre = data(Titre).PremièreLettre
  3.     LettrePrécédente <- Lettre
  4.     Faire le début de la présentation d'un bloc.
  5.     Afficher en GROS Lettre
  6.     Afficher la ligne
  7.     TantQue data <- Fetch
  8.         Lettre = data(Titre).PremièreLettre
  9.         Si Lettre <> LettrePrécédente  Alors    <<== C'est ce qu'on appelle la rupture
  10.             LettrePrécédente <- Lettre
  11.             Faire la fin de la présentation d'un bloc.
  12.             Faire le début de la présentation d'un bloc.
  13.             Afficher en GROS Lettre
  14.             Fin Si
  15.             Afficher la ligne
  16.         Fin TantQue
  17.         Faire la fin de la présentation d'un bloc.
  18. Fin Si


Message édité par zeb le 06-06-2007 à 01:14:50

---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...
Plus d'informations

Mouarf, ce n'est pas trop quelque chose que j'arrive à transcrire en PHP.


Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » Affichage dans tableaux alphabétiquement
 

Annonces Google
Publicité