La boucle "for"
Résolu
t671
Messages postés
1476
Date d'inscription
Statut
Membre
Dernière intervention
-
t671 Messages postés 1476 Date d'inscription Statut Membre Dernière intervention -
t671 Messages postés 1476 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Dans mon script, j'ai mis une boucle for qui me liste les noms de ma table.
Mais quand la lettre de l'initiale du nom change ($i), je voudrais aller à la ligne.
Comment faire ?
Merci
Dans mon script, j'ai mis une boucle for qui me liste les noms de ma table.
$select = 'SELECT nom,COUNT(*) AS nb FROM individus WHERE famille LIKE "%TOTO%" GROUP BY nom ORDER BY nom ASC'; $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() ); while ($row = mysql_fetch_array($result)) { for($i=A;$i<=Z;$i++) { $lettre_nom = substr($row['nom'],0,1); if ($lettre_nom == $i) { echo ''.$row['nom'].' '; } } }
Mais quand la lettre de l'initiale du nom change ($i), je voudrais aller à la ligne.
Comment faire ?
Merci
A voir également:
- La boucle "for"
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Idm for mac - Télécharger - Téléchargement & Transfert
- Copytrans heic for windows - Télécharger - Visionnage & Diaporama
- Instagram for pc - Télécharger - Divers Communication
- Microsoft store download for pc - Guide
7 réponses
Merci titus22. Je comprends un peu ce que tu veux dire, mais j'ai du mal à le mettre par écrit.
Et je vais devoir écrire 26 lignes pour les 26 lettres de l'alphabet !
Ne peut-on pas l'écrire avec $i et $i++ ?
Et je vais devoir écrire 26 lignes pour les 26 lettres de l'alphabet !
Ne peut-on pas l'écrire avec $i et $i++ ?
A quoi te sert le for et le if ?
Pourquoi ne pas faire directement : echo ''.$row['nom'].' ';
Car la en gros si je comprend bien tu fait
i = A
tu regarde si ta variable commence par A, si oui tu l'affiche
i = B
tu regarde si ta variable commence par B, si oui tu l'affiche
...
Pourquoi ne pas faire directement : echo ''.$row['nom'].' ';
Car la en gros si je comprend bien tu fait
i = A
tu regarde si ta variable commence par A, si oui tu l'affiche
i = B
tu regarde si ta variable commence par B, si oui tu l'affiche
...
Effectivement, ce serait possible. Mais je suis obligé de répéter 26 fois la même condition. Je voulais l'éviter ..........
Oui, j'ai le même résultat. Mais j'aurais voulu éviter de tester 26 fois la première lettre du nom.
Mais faire un <br> quand celle-ci change !
Mais faire un <br> quand celle-ci change !
$select = 'SELECT nom,COUNT(*) AS nb FROM individus WHERE famille LIKE "%TOTO%" GROUP BY nom ORDER BY nom ASC';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$row = mysql_fetch_array($result);
$lettre_nom = substr($row['nom'],0,1);
while ($row = mysql_fetch_array($result))
{
if($lettre_nom != $substr($row['nom'],0,1))
{
echo "<BR>";
$lettre_nom = substr($row['nom'],0,1);
}
echo ''.$row['nom'].' ';
}
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$row = mysql_fetch_array($result);
$lettre_nom = substr($row['nom'],0,1);
while ($row = mysql_fetch_array($result))
{
if($lettre_nom != $substr($row['nom'],0,1))
{
echo "<BR>";
$lettre_nom = substr($row['nom'],0,1);
}
echo ''.$row['nom'].' ';
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ca me semble pas mal, mais j'ai le msg :
Fatal error: Function name must be a string
pour if ($lettre_nom != ($substr($row['nom'],0,1)))
Fatal error: Function name must be a string
pour if ($lettre_nom != ($substr($row['nom'],0,1)))
Là :
J'ai tous les noms, sans saut de ligne ...........
$lettre_nom = substr($row['nom'],0,1); while ($row = mysql_fetch_array($result)) { echo ''.$row['nom'].' '; $lettre_nom = substr($row['nom'],0,1); if ($lettre_nom != substr($row['nom'],0,1)); { echo "<BR>"; $lettre_nom = substr($row['nom'],0,1); } }
J'ai tous les noms, sans saut de ligne ...........
donc tu as juste a faire un test :)