Tabeau dynamique en php

tito -  
 tito -
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. pitxu Messages postés 708 Statut Membre 95
     
    bonjour,

    ta boucle devrait plutôt ressembler à ça :

    while ($row_img=mysql_fetch_assoc($ma_requete)) {
    ...
    }
    0
  2. tito
     
    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
  3. pitxu Messages postés 708 Statut Membre 95
     
    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
  4. tito
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. tito
     
    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
  7. tito
     
    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