Posez votre question Signaler

PHP retour à la ligne après un while [Résolu]

vincent - Dernière réponse le 15 juin 2009 à 15:11
Bonjour,
j'ai codé une fonction php permettant de récupérer des pseudos en base et de les afficher les uns à la suite des autres, dans une div (définie avec une largeur fixe).
while($rang = mysql_fetch_array($rqpseudos))
{
echo $rang['pseudo'] . '  ' ;
}
Les pseudos s'affichent bien et sont bien espacés de 2 espaces.
Mon problème est que la liste de pseudos s'affichent sur une seule ligne et déborde de la div. J'aimerais, arrivé à la bordure droite, avoir un retour à la ligne automatique.
Ce que j'ai :
pseudo1 pseudo2 pseudo3 pseudo4 pseudo5 pseudo6 pseudo7 pseudo8 pseudo9 pseudo10
Ce que j'aimerais :
pseudo1 pseudo2 pseudo3 pseudo4 pseudo5
pseudo6 pseudo7 pseudo8 pseudo9 pseudo10
ainsi de suite
Comment faire svp ?
Lire la suite 

PHP retour à la ligne après un while »

7 réponses
Réponse
+0
moins plus
Essaie avec le propriété CSS:
word-wrap: break-word

sur ton div
Ajouter un commentaire
Réponse
+0
moins plus
$boucle=0;
while($rang = mysql_fetch_array($rqpseudos))
{
echo $rang['pseudo'] . ' ' ;
$boucle++;
if($boucle==4)
{
echo'<br/>;
$boucle=0;
}
}

pourquoi pas un truck de ce genre?
Pwoned - 15 juin 2009 à 14:27
remplace :
if($boucle==4)
{
echo'<br/>;
$boucle=0;
}

par :
if(!boucle%5) echo("<br />");

Comme ça, moins de ligne et moins de calculs à effectuer.
Après, tu change le %5 par le nombre d'éléments à afficher sur une ligne (ici 5).
Ajouter un commentaire
Réponse
+0
moins plus
super ca marche ! Un petit truc c'est que le retour à la ligne coupe les pseudos en 2 :

pseudo1 pseudo2 pseudo3 pseudo4 pseu
do5 pseudo6 pseudo7 pseudo8 pseudo9 p
seudo10

tu connaitrais un moyen de ne pas couper les mots ?
sinon ca marche c'est super, merci beaucoup
Ajouter un commentaire
Réponse
+0
moins plus
merci pour ta solution avec le nombre de boucles cireme, mais je ne pense pas que ce soit la meilleure au niveau "design". Si je définis une ligne à 4 pseudos je peux avoir :
- une petite ligne avec des pseudos ne faisant que 3 ou 4 caractères
- une grosse ligne avec des pseudos faisant entre 10 et 15 caractères

Malgré la coupe en plein milieu d'un pseudo, je préfère la solution de gigaga.
Merci à vous 2 pour votre aide précieuse !
gigaga- 15 juin 2009 à 14:39
la solution word-wrap: break-word est automatique et ne nécessite pas de code particulier. C'est le navigateur qui s'occupe de ça.
Ajouter un commentaire
Réponse
+0
moins plus
Pour compléter la réponse de gigaga :

- word-wrap: break-word ne fonctionne pas sous firefox. Pour contourner ce problème, utiliser cette fonction directement dans php :
http://fr3.php.net/wordwrap
Ajouter un commentaire
Ce document intitulé « PHP retour à la ligne après un while » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?