Tabeau dynamique en php

Bonjour,

Voila je voudrai créer un tableau a l'aide de php et afficher dans chaque cellule des informations qui provienne d'une base de données.

Voila mon code :

<table>
<?php
$nb_colone = 6;
$compteur_enregistrement = $total_enregistrement;
while ($row_img){
$img = explode('.', $row_img['url']);
if($total_enregistrement != 0){
if($nb_colone == 6){
echo '<tr>';
$nb_colone = 0;}

if($nb_colone != 6){
if($compteur_enregistrement != 0){
echo '<td><img src="../images/gallerie/'.$img[0].'-mini.'.$img[1].' /></td>';
$compteur_enregistrement = $compteur_enregistrement - 1;}
$nb_colone = $nb_colone + 1;}

if($nb_colone == 6){
echo '</tr>';}

}
}
?>
</table>

le probleme c'est qu'il répéte a l'infini les balises <tr> et </tr> .
Les premieres images s'affiche bien pourtant.

Pouvez vous m'aider ?

6 réponses

  1. bonjour,

    ta boucle devrait plutôt ressembler à ça :

    while ($row_img=mysql_fetch_assoc($ma_requete)) {
    ...
    }
    0
    1. Oui enfet au départ je l'avait codé comme ca mais j'avai cette erreur : mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource ...

      Je comprend pas
      0
      1. fais un fichier test.php avec tes infos de base de données et une requête très simple dans cette boucle while et ça doit fonctionner sans problème.
        0
        1. Effectivement sa fonctionne trés bien sur le fichier test, mais alor je compren pas pourquoi sa ne fonctionne pas sur ma page !

          je remet mon code avec la connexion a la base de données :

          <?php
          mysql_select_db($database_support, $support);
          $query_img = "SELECT * FROM img";
          $img = mysql_query($query_img, $support) or die(mysql_error());
          $row_img = mysql_fetch_assoc($img);
          $totalRows_img = mysql_num_rows($img);
          $total_enregistrement = $totalRows_img;
          ?>
          <table>
          <?php
          $nb_colone = 6;
          $compteur_enregistrement = $total_enregistrement;
          while ($row_img=mysql_fetch_assoc($img)){
          $img = explode('.', $row_img['url']);
          if($total_enregistrement != 0){
          if($nb_colone == 6){
          echo '<tr>';
          $nb_colone = 0;}

          if($nb_colone != 6){
          if($compteur_enregistrement != 0){
          echo '<td><img src="../images/gallerie/'.$img[0].'-mini.'.$img[1].' /></td>';
          $compteur_enregistrement = $compteur_enregistrement - 1;}
          $nb_colone = $nb_colone + 1;}

          if($nb_colone == 6){
          echo '</tr>';}

          }
          }
          ?>
          </table>

          Il y a t'il une erreur ?
          0
          1. Je vien de trouver, c'est la fonction explode() qui gene !

            Seulement j'en ai besoin =s

            J'ai éssayé de la placer a un autre endroit que dans la boucle et c'est pareil ...

            Il y a t'il une autre solution ?
            0
            1. Bonjour,

              Bon la seule solution que j'ai trouvé est de modifier la table de la BDD pour éviter le explode(), enregistré l'url de l'image en deux parties.

              Maintenant tout fonctionne bien, a l'exception qu'il manque un enregistrement a chaque fois ...

              Si il y a 3 entrées dans la table seul 2 seront affichées...

              Quelqu'un a une idée d'ou sa peut venir ?

              Merci
              0