Téléchargement
illégal
Posez votre question Signaler

Tableau dynamiques avec plusieurs colonnes [Résolu]

missou55 39Messages postés 22 février 2005Date d'inscription 1 février 2011Dernière intervention - Dernière réponse le 4 janv. 2011 à 23:31
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
Lire la suite 

Tableau dynamiques avec plusieurs colonnes »

5 réponses
Réponse
+1
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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 } ?>
SniperPS - 4 janv. 2011 à 23:31
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 !
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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?
Ajouter un commentaire
Ce document intitulé « Tableau dynamiques avec plusieurs colonnes » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?