Tableau dynamiques avec plusieurs colonnes

Résolu
missou55 Messages postés 52 Statut Membre -  
 SniperPS -
Bonjour,

J'aimerai afficher du texte dans un tableau qui vient de la base de donnee.
Ce qui veut dire que mon tableau sera en affichage dynamique,

Pour un affichage dynamique juste avec les lignes, je fais

<?php
while ( $row  =mysql_fetch_array($sql_res) )
{ ?>  
    <tr> ...</tr>
<?php } ?>


Mais comment je fais pour y mettre 3 colonnes aussi dynamiques?

Merci de votre aide

4 réponses

  1. missou55 Messages postés 52 Statut Membre 4
     
    j'ai trouver la reponse, pour ceux que ca interresse, voici le code
     
    
    <?php 
    
    $nbCols = 3; // nombre de colonnes du tableau 
    $cpt = 0; // compteur d'éléments 
    ?>
    
    
    
    <table> 
      <tr>
        <th style="width:<?php echo round(100/$nbCols);?>%;">Colonne 1</th> 
        <th style="width:<?php echo round(100/$nbCols);?>%;">Colonne 2</th> 
        <th style="width:<?php echo round(100/$nbCols);?>%;">Colonne 3</th> 
      </tr>
    
    <?php
    
    $rs = mysql_query(...); // exécution de la requête 
    
    // Nota : on pourrait tout aussi bien parcourir les éléments d'un tableau ou les fichiers d'un dossier
    
    while ($row=mysql_fetch_assoc($rs)) { // parcours des résultats 
        // début d'une ligne 
    
        if ($cpt%$nbCols==0) // on divise le nb d'élément par le nb de colonnes. Si le reste est de 0 ... 
            echo '<tr>'; // ..., alors on est sur le premier élément d'une ligne 
    
    // On place chaque élément dans une cellule du tableau 
    
        echo '<td>';
        echo ... // affichage de tout ce qu'on veut dans la cellule 
        echo '</td>'; 
    
        // fin d'une ligne
    
        if ($cpt%$nbCols==($nbCols-1)) // on divise le nb d'élément par le nb de colonnes. Si le reste est de ($nbCols-1) ... 
            echo '</tr>'; // ..., on est sur le dernier élément d'une ligne
    
    
    
        $cpt++; // on incrémente le compteur pour savoir où on en est
    } 
    
    
    
    // Au cas où ...
    
    if ($cpt!=0 && $cpt%$nbCols!=0) { // S'il n'y a pas eu assez de cellules dans la boucle pour finir la ligne ...
        echo '<td colspan="'.($nbCols - ($cpt%$nbCols) ).'">&nbsp;</td>'; // ... on complète avec une cellule vide de la bonne taille...
        echo '</tr>'; // ... et on ferme la ligne
    }
    
    ?>
    
    </table>
    
     


    je tiens a préciser que le code n'est pas de moi mais il marche, alors merci a son createur
    2
  2. tompsy Messages postés 275 Statut Membre 50
     
    Tu sais être plus complet dans ta demande ?

    Parce que jusque la je te proposerais :

    <?php
    while ( $row =mysql_fetch_array($sql_res) )
    { ?>
    <tr><td>...</td><td>...</td><td>...</td></tr>
    <?php } ?>
    0
    1. SniperPS
       
      ce code est valable pour afficher du contenu statique, imagine qu'on veut remplacer tes "..." par du contenu dynamique qui vient de la base de données, alors ça doit changer !
      0
  3. briiiiix Messages postés 624 Statut Membre 18
     
    Je te conseille de le faire avec des div, c'est plus souple et ça ne déborde pas.
    Les tableau c'est de la préhystoire
    0
  4. missou55 Messages postés 52 Statut Membre 4
     
    Pour repondre a tompsy, le probleme de ce que tu me propose, c'est que je dois integrer plusieurs valeurs ou variables diferentes dans chaque <td> </td>

    Mais je voudrai afficher toujours la meme variable, c'est dire $row['article'] et parcourir toute ma base de donnee.

    Avez-vous une idée?
    0