Placer des lettres alphabetique...

Placer des lettres alphabetique... - Programmation

Marsh Posté le 19-02-2002 à 23:37:42    

j'ai donc fini mon script de lyrics mais c pour l'affichage des artistes, ils sont listés comme ca:  
Aerosmith  
ATC  
Assia  
Blink 182  
Bombfunk MC'  
 
mais ce que je veux c ca:  
il faudrait les classer par lettres alphabetique du genre:  
-A-  
Aerosmith  
ATC  
Assia  
-B-  
Blink 182  
Bombfunk MC'  
etc...  
 
Ce que j'aimerai donc c'est de mettre un jolie -A- pour les artistes commencant par a et etc... et dans des colonnes!  
comme ici:  
http://purcity.free.fr/index.php3?p=lyrics/index  
 
Je sais qu'il faut utiliser une boucle mais j'en ai aucune idée comment m'y prendre puisque jcomprends pas trop ce domaine...


---------------
Make Portraits, Not War!  
Reply

Marsh Posté le 19-02-2002 à 23:37:42   

Reply

Marsh Posté le 20-02-2002 à 00:59:45    

c si dur que ça ?


---------------
Make Portraits, Not War!  
Reply

Marsh Posté le 20-02-2002 à 01:05:08    

quand tu affiches tu dois avoir une boucle qui ressemble à :
 
while ($row = mysql_fetch_array($result))
{
  echo $row['artist'];
}
 
le but est de détecter quand tu changes de première lettre. tu gardes donc la première lettre courante dans une variable, par ex $firstLetter = '';.
 
puis à chaque affichage (echo $row...) tu testes si la première lettre de $row... est différente de la première lettre stockée dans $firstLetter. si non, tu ne fais rien, si oui tu updates $firstLetter et tu l'affiches :
 
$firstLetter = '';
while (...)
{
  if ($row['artist'][0] != $firstLetter)
  {
    $firstLetter = $row['artist'][0];
    echo $firstLetter . '<br>';
  }
  echo $row...
}
 
et hop.

Reply

Marsh Posté le 20-02-2002 à 10:31:06    

salut
deja merci
Je suis débutant donc c pas clair:
deja, à la base quand j'affiches monnom d'artiste j'ai ça:
$req_artiste=mysql_query("SELECT id,nom FROM artistes" );  
while ($ligne_artiste=mysql_fetch_object($req_artiste))
{
echo("<B>.</B> <a href=\"artistes.php3?id=$ligne_artiste->id\">$ligne_artiste->nom</a><BR>" );
 }
$firstLetter = '';  
 
et donc, tu me dis de rajouter à la suite ça:
$firstLetter = '';  
while (...)  
{  
 if ($row['$ligne_artiste->nom'][0] != $firstLetter)  
 {  
   $firstLetter = $row['$ligne_artiste->nom'][0];  
   echo $firstLetter . '<br>';  
 }  
 echo $row*et apres?*
}  
 
que mettons apres le $row ?
 
Merci d'avance


---------------
Make Portraits, Not War!  
Reply

Marsh Posté le 20-02-2002 à 17:30:30    

quand je mets des '...' c'est par flemme de réécrire ce qu'il y a dans ton message ou ce que j'ai marqué plus haut :)
 
en gros tu recopies le premier bloc de code, et tu rajoutes celui avec $firstLetter.
 
eg $row*et apres?* c'est ici qu'il faut que tu mettes $row['$ligne_artiste->nom'] histoire d'afficher le nom, tout simplement.
 
je te conseille un petit tutorial php pour aider à mettre tout ça en place, eg http://www.commentcamarche.net/php/phpintro.php3

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed