Créer un tableau grâce à une boucle

Créer un tableau grâce à une boucle - HTML/CSS - Programmation

Marsh Posté le 09-02-2007 à 09:38:04    

Bonjour,
Je voudrais répartir de façon égale des drapeaux dans un tableau. Mon problème c'est que le nombre de drapeaux varie...
Voilà mon code:

Code :
  1. <table>
  2.    <tr>
  3.      <td><b>Languages<font color="red">*</font> </b> </td>
  4.     <td>
  5.   <?
  6.   echo"<table align=center width=\"50%\">  <tr width=\"50%\">";
  7.       $query2=mysql_query("select distinct language_name,ISO from Languages" );         
  8.       $count=mysql_num_rows($query2);
  9.       /*$count = nb de language (dc de drapeaux) différents*/
  10.      
  11.       while($query2 and $data = mysql_fetch_array($query2)) {
  12.         $lg=$data["language_name"];             
  13.         $lg_iso=$data["ISO"];
  14.         $flag_name=$lg_iso.".png";
  15.        
  16.         echo"<td width=\"50%\" bgcolor=\"#E3E4E8\" align=\"center\">
  17. /*affichage de checkbox dvt les drapeaux*/
  18.               <input type=\"checkbox\" name=\"language[]\" value=\"$lg_iso\"></input>
  19. /*affichage du drapeau*/
  20.               <img src=./../img/flagues/$flag_name style=\"border-style:solid; border-width:1px; border-color:black;\" title=$lg width=18 height=13>
  21. /*affichage du nom du drapeau*/
  22.               $lg_iso </td>";
  23.       }


 
Donc je voudrais en afficher 4, puis changer de ligne, en afficher 4 autres, changer de ligne etc...
J'avais pensé à faire ça avec une boucle "for":
 

Code :
  1. $div=$count/4;
  2.         $max=intval(abs($div)); /*pour avoir le résultat entier de la division*/
  3. echo"<tr>";
  4. for ($j=0;$j<$max;$j++){
  5.         echo"<td width=\"50%\" bgcolor=\"#E3E4E8\" align=\"center\">
  6. /*affichage de checkbox dvt les drapeaux*/
  7.               <input type=\"checkbox\" name=\"language[]\" value=\"$lg_iso\"></input>
  8. /*affichage du drapeau*/
  9.               <img src=./../img/flagues/$flag_name style=\"border-style:solid; border-width:1px; border-color:black;\" title=$lg width=18 height=13>
  10. /*affichage du nom du drapeau*/
  11.               $lg_iso </td>";
  12. }
  13. echo "</tr></table>";


 
ms ça ne marche pas!
Merci d'avance.
C'est du html et du php..ms là question concerne le html.


Message édité par acorsa le 09-02-2007 à 10:22:28
Reply

Marsh Posté le 09-02-2007 à 09:38:04   

Reply

Marsh Posté le 09-02-2007 à 10:13:32    

C'est de l'html ça ou du php?
En tout cas, je ne relis plus les codes qui ne sont pas entre balise "[ code]" (le bouton http://forum-images.hardware.fr/icones/message/c.gif).

Reply

Marsh Posté le 09-02-2007 à 10:44:46    

Code html douteux, des commentaires php dans du html, des balises <font> <b>... Bref, pas mal de choses à revoir.

 

Sinon, j'ai pas bien compris cette histoire de division. En fait je n'ai pas vraiment cherché à comprendre. Mais je me demande pourquoi tu n'utilise pas simplement un compteur que tu incrémente à chaque ajout? Suffit de changer de ligne et de le remettre à zéro quand il arrive à la valeur max par ligne.


Message édité par dwogsi le 09-02-2007 à 10:45:31

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
Reply

Marsh Posté le 09-02-2007 à 10:48:16    

ben ça marche pas..
Et le code douteux c normal g copier ça ds le forum pour tenter de me faire comprendre..ça marche chez moi. Ce que je voudrais c'est afficher 4 drapeaux , aller à la ligne en afficher  4 autres...
Je ne pense pas que ça marche avec un compteur...Je vais essayer

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed