résultat d'une requete qui s'affiche sur une ligne :(

Petit nouveau ! | 3 Messages

04 juin 2009, 14:00

bonjour a tous

je butte sur une requete, pour mon nuage de tags fait maison.

mon problème se situe sur l'affichage du résultat :

la requete fonctionne, elle me renvoi mes mots clef, mais tout sur une ligne :
si je redimensionne la fenetre du site : mes 50 et quelques résultats sont sur une ligne
si je passe de 1280x1024 a du 1024x768 : mes 50 et quelques résultats sont sur une ligne
si je bloque le tout dans une cellule TD (avec un width) ou un DIV (avec un max-width définit) : mes 50 et quelques résultats sont sur une ligne

je voudrais éviter mon astuce actuelle : une requete avec un limit 0,5 puis une autre requete avec un limit fixé à 5,5 , etc ....

mon code :

Code : Tout sélectionner

<?php require "config.php"; $mysql_link = mysql_connect($mysql_host, $mysql_user, $mysql_pass); $result=mysql_db_query("MA_BDD","SELECT motClef, SUM(compt1) as sstotal FROM MA_TABLE GROUP BY motClef limit 0,5"); while($row=mysql_fetch_array($result)) { echo "<a href=?tag=". $row[motClef] . ">"; if ($row["sstotal"] ==1) { echo "<span class=minitext><font color=#C0C0C0>" ; } if ($row["sstotal"] ==2) { echo "<font color=#C0C0C0>" ;} if ($row["sstotal"] ==3) { echo "<font color=black>" ;} echo $row[motClef] . "</a></font>&nbsp;" ; } mysql_close($link); ?>
note :
motClef : le mot clef
compt1 : valeur en table, toujours fixée à 1
sstotal : calcul qui reste en mémoire

donc ma question :
comment automatiser un retour a la ligne (quand la longueur du texte atteint n caractères ou n pixels, ou dépasse la taille de la page) ??

merci !

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

04 juin 2009, 15:58

Modération :
Afin d'obtenir plus de réponses, le sujet est déplacé dans le forum "HTML, XHTML, CSS".

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Mammouth du PHP | 686 Messages

05 juin 2009, 23:54

avec un quelque chose de ce genre là, tu fais un tableau avec un nombre definit de colones
<?php 
require "config.php"; 
$mysql_link = mysql_connect($mysql_host, $mysql_user, $mysql_pass); 
$result=mysql_db_query("MA_BDD","SELECT motClef, SUM(compt1) as sstotal FROM MA_TABLE GROUP BY motClef limit 0,5"); 
echo "<table align=\"center\">
<tr>
";
$i = 0;
$nbrcol = 10 /// Nbre d'entrées sur une ligne
while($row=mysql_fetch_array($result)) 
{ 
echo "<td><a href=?tag=". $row[motClef] . ">"; 
if ($row["sstotal"] ==1) { echo "<span class=minitext><font color=#C0C0C0>" ; } 
if ($row["sstotal"] ==2) { echo "<font color=#C0C0C0>" ;} 
if ($row["sstotal"] ==3) { echo "<font color=black>" ;} 
echo $row[motClef] . "</a></font></td>&nbsp;" ; 
$i = $i+1 ;
if($i == $nbrcol){
echo "</tr>";
$i = 0;
}
} 
echo "</tr></table>";
mysql_close($link); ?>

Eléphant du PHP | 245 Messages

09 juin 2009, 13:02

nl2br(wordwrap($chaine,1000));

Avec la fonction wordwrap, on peut faire des choses : http://www.manuelphp.com/php/function.wordwrap.php

elle insere un "\n" tous les n caracteres (ici n = 1000)