Utilisation de la boucle for
Résolu
t671
Messages postés
1476
Date d'inscription
Statut
Membre
Dernière intervention
-
Alain_42 Messages postés 5361 Date d'inscription Statut Membre Dernière intervention -
Alain_42 Messages postés 5361 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Dans mon script je lis les noms d'une table et je les affiches avec la première lettre du nom.
Pourquoi l'affichage de l'alphabet s'arrête à la lettre W, alors que j'ai un nom avec la lettre Z (Zorro) ?
Merci
Dans mon script je lis les noms d'une table et je les affiches avec la première lettre du nom.
for($i=A;$i<=Z;$i++) { while ($row = mysql_fetch_array($result)) { $lettre_nom = substr($row['nom'],0,1); if ($lettre_nom == $i) { echo ''.$row['nom'].' '; } else { $i=$i++; echo $i++; echo '<br>'; echo $i; echo ' '; } }
Pourquoi l'affichage de l'alphabet s'arrête à la lettre W, alors que j'ai un nom avec la lettre Z (Zorro) ?
Merci
A voir également:
- Utilisation de la boucle for
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Utilisation chromecast - Guide
- Télécharger gratuitement notice d'utilisation - Guide
- Idm for mac - Télécharger - Téléchargement & Transfert
- Instagram for pc - Télécharger - Divers Communication
5 réponses
parce que ta boucle for doit être avec des nombres et pas des lettres
essayes d'ajouter +1 à une lettre ?
donc ton affichage se fait par la boucle while uniquement
essayes d'ajouter +1 à une lettre ?
donc ton affichage se fait par la boucle while uniquement
<?php $array_lettre=array(); while ($row = mysql_fetch_array($result)) { $lettre_nom = substr($row['nom'],0,1); $array_lettre[]=$lettre_nom; //on empile dans l'array } //tri de l'array par ordre alpha sort($array_lettre); //affichage foreach($array_lettre as $value){ echo '<br />'.$value; }
OK ! Merci Alain_42 ! Je pensais qu'on pouvais utiliser la boucle for avec l'alphabet .....
Là, je voudrais afficher les noms associés à la lettre de l'alphabet.
Soit :
A ALBERT ARTHUR ANTOINE
B BERNARD
C CHARLES CHRISTIAN
D
E EMILE ..................
J'y arrive pas !
Là, je voudrais afficher les noms associés à la lettre de l'alphabet.
Soit :
A ALBERT ARTHUR ANTOINE
B BERNARD
C CHARLES CHRISTIAN
D
E EMILE ..................
J'y arrive pas !
essayes comme ça (seules les lettres ayant un prénom sont affichées:
<?php $array_lettre=array(); while ($row = mysql_fetch_array($result)) { $lettre_nom = substr($row['nom'],0,1); //on va faire un array a deux dimentions première dimention les lettres, deuxieme les noms correspondants (il peut y en avoir plusieurs pour chaque lettre ?) $array_lettre[$lettre_nom][]=$row['nom']; //on empile dans l'array } //tri de l'array par ordre alpha suivant clef ksort($array_lettre); //affichage foreach($array_lettre as $clef=>$s_array){ $liste='<br />'.$clef; for($i=0;$i<sizeof($s_array);$i++){ $liste.=' '.$s_array[$i]; } echo $liste; } ?>
Merci Alain_42, mais j'ai l'erreur :
mysql_fetch_array(): supplied argument is not a valid MySQL result resource
Et moi je viens de trouver ceci qui fonctionne :
A ++ ;o)
mysql_fetch_array(): supplied argument is not a valid MySQL result resource
Et moi je viens de trouver ceci qui fonctionne :
$lettre_nom1 = substr($row['nom'],0,1); echo $lettre_nom ; echo ' '.$row['nom'].' '; while ($row = mysql_fetch_array($result)) { $lettre_nom = substr($row['nom'],0,1); if ($lettre_nom == $lettre_nom1) { echo ' '.$row['nom'].' '; $lettre_nom = substr($row['nom'],0,1); } else { echo '<br>'; echo $lettre_nom ; echo ' '.$row['nom'].' '; $lettre_nom1 = substr($row['nom'],0,1); } }
A ++ ;o)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question