Boucle en php avec les <TR> et <TD> - PHP  

Forum > PHP > Boucle en php avec les <TR> et <TD>

Boucle en php avec les <TR> et <TD>

ok Le problème posé sur ce sujet a été résolu.
Membre
# Le 24/11/2012 à 17h01
Salut à tous, j'ai une nouvelle question,
c'est surement très simple, mais je ne vois pas comment faire.
J'ai un upload d'image qui va afficher les images poster, et j'aimerai donc les afficher dans un tableau mais 4 ou 3 photos par ligne et la suite à la ligne suivante. Le tableau débute à la ligne 75.
  1. <?php
  2. if(!empty($_FILES)){
  3. require("imgClass.php");
  4. $img = $_FILES['img'];
  5. $ext = strtolower(substr($img['name'], -3));
  6. $allow_ext = array("jpg", 'png', 'gif');
  7. if(in_array($ext, $allow_ext)){
  8. move_uploaded_file($img['tmp_name'], "affiche/".$img['name']);
  9. Img::creerMin("affiche/".$img['name'],"affiche/min",$img['name'],215,112);
  10. Img::convertirJPG("affiche/".$img['name']);
  11. }
  12. else{
  13. $erreur = "Votre fichier n'est pas une image ";
  14. }
  15. }
  16. ?>
  17. <!DOCTYPE html public "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  18. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
  19. <head>
  20. <title>Bienvenue sur Drect to cinéma</title>
  21. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  22. <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
  23. <script type="text/javascript" src="js/zoombox/zoombox.js"></script>
  24. <link href="js/zoombox/zoombox.css" rel="stylesheet" type="text/css" media="screen" />
  25. <link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />
  26. <script type="text/javascript">
  27. jQuery(function($){
  28. $('a.zoombox').zoombox({
  29.  
  30. gallery : false,
  31. opacity : 0.8,
  32. width : 600,
  33. height : 400});
  34.  
  35. });
  36. </script>
  37. </head>
  38. <body>
  39. <?php
  40. if(isset($erreur)){
  41. echo $erreur;
  42. }
  43. ?>
  44. <div id="en_tete">
  45.  
  46.  
  47. </div>
  48. <div id="menu">
  49. <div class="element_menu">
  50. <div id="Menu_Principal">
  51. <ul>
  52. <li><a href="index.php">Accueil</a></li>
  53. <li><a href="actualites.php">Actualités</a></li>
  54. <li><a href="videos.php">Vidéos</a></li>
  55. <li><a href="avis.php">Avis</a></li>
  56. <li><a href="dossier.php">Dossier</a></li>
  57. </ul>
  58. </div>
  59. </div>
  60.  
  61. </div>
  62. <img STYLE=" position:absolute; WIDTH:1060px; HEIGHT:150px; LEFT:254px; " src="ban_add_affiche.png" />
  63. <div id="add_affiche">
  64. <table>
  65. <form method="post" action="add_affiche.php" enctype="multipart/form-data">
  66. <tr>
  67. <td><img src="parcourir.png" /></td><td><input type="file" name="img"/></td>
  68. </tr>
  69. <tr>
  70. <td><img src="envoyer.png" /></td><td><input type="submit" name="Envoyer"/></td>
  71. </tr>
  72. </form>
  73. <center>
  74. <div id="galerie">
  75. <table>
  76. <tr>
  77. <?php
  78. $dos = "affiche/min";
  79. $dir = opendir($dos);
  80. while($file = readdir($dir)){
  81. $allow_ext = array("jpg", 'png', 'gif');
  82. $ext = strtolower(substr($file, -3));
  83. if(in_array($ext, $allow_ext)){
  84. ?>
  85. <td><a class="zoombox zgallery1" href="affiche/<?php echo $file; ?>"/> <br />
  86. <img src="affiche/min/<?php echo $file; ?>"/>
  87. </a></td>
  88. <?php
  89. }
  90. }
  91. ?>
  92. </tr>
  93. </table>
  94. </div>
  95. </center>
  96. </div>
  97.  
  98. <div id="footer_all"></div>
  99. </body>
  100. </html>
  101.  
avatar de Tony_
Administrateur
# Le 24/11/2012 à 21h44
Bonjour.
Pour réussir à afficher cela sous forme de tableau il faut comptabiliser le nombre de fois où l'ont rentre dans la boucle while. Puis il faut utiliser une condition et un modulo pour déterminer lorsqu'on atteint le nombre 4.
Ça donnera donc quelque chose comme ceci :
  1. <table>
  2. <tr>
  3. <?php
  4. $dos = "affiche/min";
  5. $dir = opendir($dos);
  6. $i = 0; // initialiser le compteur
  7. while($file = readdir($dir)){
  8. $allow_ext = array("jpg", 'png', 'gif');
  9. $ext = strtolower(substr($file, -3));
  10. if(in_array($ext, $allow_ext)){
  11. $i++;
  12. // toutes les 4 images, utiliser une autre ligne
  13. if ($i%4==0) {
  14. ?>
  15. </tr><tr>
  16. <?php
  17. }
  18. ?>
  19. <td><a class="zoombox zgallery1" href="affiche/<?php echo $file; ?>"/> <br />
  20. <img src="affiche/min/<?php echo $file; ?>"/>
  21. </a></td>
  22. <?php
  23. }
  24. }
  25. ?>
  26. </tr>
  27. </table>

Dans le principe c'est une code comme celui-ci qu'il faut utiliser. Je ne l'ai pas testé donc il y a peut-être une petite erreur qui se cache quelque part.

Est-ce que ça répond à la question ?
N'hésitez pas à consulter le dossier référencement. smiley
Sinon hors internet je suis développeur web PHP.
Membre
# Le 24/11/2012 à 23h46
Ok merci pour ton aide, c'est le modulo qui me manquer. smiley smiley