Donc tu fais une seule requête SQL qui trie par ordre alphabétique.A
- abracadabra
- arbre
- arc
B
- babar
- boite
E
- Ephémère
etc...
while($result = mysql_fetch_array($sql)){
$genre = $result['genre'];
$espece = $result['espece'];
$genre = strtolower($genre); ///met tout en minuscules
$lettre = $genre[0];
if(!$lettre == $lettreprec){
echo "<img src=\"img/lettres_fiches/".$lettre.".gif\" width=\"28\" height=\"30\" border=\"0\">";
echo "<a href=\"#\" onClick=\"visibilite('".$genre."');\">";
echo "<p><font face=\"Arial\"><span style=\"font-size:10pt;\"><b>".$genre."</b></span></font></p>";
///// liste des genres avec espece au clic
echo "<div id=\"".$genre."\" style=\"display:none\">";
$lettreprec = $lettre;
}
if($genre[0] == $lettre){
$genre = ucfirst($genre);
echo "<p><font face=\"Arial\"><span style=\"font-size:10pt;\">".$genre." ".$espece."</span></font></p>";}$wordlist = array("abracadabra", "arbre", "Arc", "babar", "boite", "Ephemere");
// Initialisation des variables
$currentLetter = null; // Contiendra la première lettre du mot courant
$previousLetter = null; // Contiendra la première lettre du mot précédent
foreach ($wordlist as $word) {
$word = strtolower($word); // On met tout en minuscule
$currentLetter = $word[0]; // On extrait la première lettre du mot
if ($currentLetter != $previousLetter) {
echo "<h2>".strtoupper($currentLetter)."</h2>";
}
echo "- ".$word."<br />"; // Dans tous les cas, on affiche le mot avec un tiret et un saut de ligne
$previousLetter = $currentLetter; // On redéfinit la lettre précédente
}Comment dans mon cas definir le array sachant que je suis dans une boucle while ?$wordlist = array("abracadabra", "arbre", "Arc", "babar", "boite", "Ephemere"); // Initialisation des variables
while($result = mysql_fetch_array($sql)){
$genre = array ($result['genre']);}
Avec une boucle for() ce n'est pas possible sans passer par le tableau ?
$genre = $result['genre'];
$genre = strtolower($genre); ///met tout en minuscules
$lettre = $genre[0];
$lettrecourante = $lettre
for($lettrecourante; $lettrecourante != $lettre precedente; $lettreprecedente = $lettrecourante)
while($result = mysql_fetch_array($sql)){
$genre = $result['genre'];
$espece = $result['espece'];
$genre = strtolower($genre); ///met tout en minuscules
$lettrecour = $genre[0];
$lettreprec = null;
if(!$lettrecour == $lettreprec){
echo "<img src=\"img/lettres_fiches/".$lettrecour.".gif\" width=\"28\" height=\"30\" border=\"0\">";
$genre = ucfirst($genre);
echo "<p><font face=\"Arial\"><span onClick=\"visibilite('".$genre."');\" style=\"font-size:10pt;cursor:pointer;\"><b>".$genre."</b></span></font></p>";
$genre = strtolower($genre);
///// liste des genres avec espece au clic
echo "<div id=\"".$genre."\" style=\"display:none\">";
}
echo "<p><font face=\"Arial\"><span style=\"font-size:10pt;\">".$genre." ".$espece."</span></font></p>";
if(!$lettrecour == $lettreprec){
echo "</div>";
}
$lettreprec = $lettrecour;
}