La boucle "for"
Résolu
t671
Messages postés
1472
Date d'inscription
Statut
Membre
Dernière intervention
-
t671 Messages postés 1472 Date d'inscription Statut Membre Dernière intervention -
t671 Messages postés 1472 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
- Copytrans heic for windows - Télécharger - Visionnage & Diaporama
- Idm for mac - Télécharger - Téléchargement & Transfert
- Lame for audacity - Télécharger - Création musicale
- Livebox 6 redemarre en boucle ✓ - Forum Réseaux sociaux
7 réponses
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
...
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 :)