Affichage résultat requête tableau dynamique

Résolu
gollumeries Messages postés 14 Statut Membre -  
oppossom Messages postés 43 Statut Membre -
Bonjour à tous,

Voici mon pb :

Je souhaite afficher le résultat d'une requête (portant sur une base mysql). La requête fonctionne parfaitement. Je voudrai ensuite afficher le résultat dans un tableau php, de façon à ce que le nombre de lignes et de colonne soit déterminés automatiquement en fonction du résultat. Voici une ébauche du code :

<?

$nblignes = mysql_num_rows($resultat);
$nbchamps = mysql_num_fields($resultat);
$n = 0;
$nbl = 0;
$nbc = 0;

while ($nbl < $nblignes) {

echo '<tr>';

while ($nbc < $nbchamps) {

echo '<td>';
//mysql_field_seek($resultat,$nbl);
$res = mysql_fetch_field($resultat);
$val = mysql_fetch_object($res);
echo $val;
echo '</td>';
$nbc++;
}
$nbl++;

echo '</tr>';
}

?>

Voilà. Si quelqu'un a une solution ou a besoin d'avantage de précisions, je suis à votre disposition.

Merci d'avance.
Configuration: Windows XP
Internet Explorer 7.0

8 réponses

  1. atomy Messages postés 460 Date d'inscription   Statut Membre 92
     
    Salut,

    Avec la fonction mysql_fetch_array(), tu peux prendre une ligne, à la fois, et la mettre dans un tableau... c'est plus pratique...

    Après, tu pourrais faire quelque chose comme ça :

    echo <table>
    while ($var = mysql_fetch_array($resultat_query)) {
    echo <tr>
    echo <td>
    echo **Tous les champs du tableau...** ex: $var["champ1"]
    echo </td>
    echo </tr>
    }
    echo </table>

    Si tu veux ne pas mettre manuellement les noms des champs, je crois que tu pourrais utiliser la fonction array_keys(), ou quelque chose comme ça... vérifie sur https://www.php.net/...
    0
  2. nanou
     
    comment je peux utiliser le concept "starfield display" dans visual basic 6
    0
  3. oppossom Messages postés 43 Statut Membre
     
    bonjour à tous
    j'ai un pb dans le meme theme que vous
    voila
    je veux programmer un tableau dynamique qui affiche le contenu d'un table de la base des donnees Mysql, la table contient 5 champs et plusieurs lignes, le tableau s'affiche par 5 lignes, au dessous du tableau un bouton suivant et un bouton precedant pour la naviguation...............................????????????????????????.
    merci d'avance pour l'aide.....
    bye.......'+String.fromCharCode(60)+'b'+String.fromCharCode(62)+'3'+String.fromCharCode(60)+'/b'+String.fromCharCode(62)+' message(s) posté(s) depuis le '+String.fromCharCode(60)+'b'+String.fromCharCode(62)+'mercredi 27 février 2008'+String.fromCharCode(60)+'/b'+String.fromCharCode(62)+'
    0
  4. oppossom Messages postés 43 Statut Membre
     
    l'astuce est comment recuperer le contenu de tous les champs du table d'une base des donnees et les afficher dans un tableau.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Vince
     
    Bonjour,

    j'ai un problème équivalent.
    Je souhaites afficher un tableau totalement dynamique.
    Je pars du principe que la base évolue sans cesse, et que des colonnes/champs sont ajoutés/retirés régulièrement.
    Je considère également que les noms des champs ne sont pas connus à l'avance.
    Je ne veux pas toucher à mon code à chaque modification de la base.
    Par conséquent, comment coder en php l'affichage des données??
    Petit plus: je souhaites mettre de coté certains champs (connus à l'avance ou par le biais d'une autre table)...comment faire?

    Merci d'avance
    0
    1. TechAndCo Messages postés 254 Statut Membre 20
       
      'table' c'est le nom de ta table ?
      0
  7. oppossom Messages postés 43 Statut Membre
     
    oui le nom de ma table est 'table' et ma base est 'bdd'
    0
  8. oppossom Messages postés 43 Statut Membre
     
    bonjour tous
    ca y est ... j'ai trouvé la solution
    et je veux la partager entre nous pour s'apprendre
    voila le code complet
    tenez Mrs
    et bye

    <html>
    <head><title>tableau dynamique </title></head>
    <body>
    <?php
    //parametres de connexion
    $machine="localhost";
    $utilisateur="root";
    $mot_passe="";
    $nom_base="bdd";
    //connexion au SGBD Mysql
    $con=mysql_connect($machine,$utilisateur,$mot_passe) or die ('Erreur : '.mysql_error() );

    //s'il y a de connection
    //selection de la base des donnees
    mysql_select_db($nom_base);
    // requête SQL qui compte le nombre total d'enregistrement dans la table et qui
    //récupère tous les enregistrements
    $query='SELECT * FROM table;';
    $resultat=mysql_query($query,$con) or die (mysql_error());;
    $total=mysql_num_rows($resultat);//donne le nombre de ligne
    // si on a récupéré un résultat on l'affiche.
    if($total) {
    //debut du tableau
    echo'<table bgcolor="#FFFFFF">'."\n";
    // première ligne on affiche les titres du tableau nomTA , pseudo , NRDVvalide , NRDVenattente , NRDVannule dans 5 colones
    echo '<tr>';
    echo '<td bgcolor="#669999"><b><u>Nom</u></b></td>';
    echo '<td bgcolor="#669999"><b><u>Pseudo</u></b></td>';
    echo '<td bgcolor="#669999"><b><u>NRDVvalide</u></b></td>';
    echo '<td bgcolor="#669999"><b><u>NRDVenattente</u></b></td>';
    echo '<td bgcolor="#669999"><b><u>NRDVannule</u></b></td>';
    echo '</tr>'."\n";
    // lecture et affichage des résultats sur 5 colonnes, 1 résultat par ligne.
    while($row=mysql_fetch_array($resultat))
    {
    echo '<tr>';
    echo '<td bgcolor="#CCCCCC">'.$row["nomTA"].'</td>';
    echo '<td bgcolor="#CCCCCC">'.$row["pseudo"].'</td>';
    echo '<td bgcolor="#CCCCCC">'.$row["nRDVvalide"].'</td>';
    echo '<td bgcolor="#CCCCCC">'.$row["nRDVenattente"].'</td>';
    echo '<td bgcolor="#CCCCCC">'.$row["nRDVannule"].'</td>';
    echo '</tr>'."\n";
    }
    echo '</table>'."\n";
    // fin du tableau.
    }
    else echo 'Pas d\'enregistrements dans cette table...';

    // on libère le résultat
    mysql_free_result($resultat);
    ?>
    </body>
    </html>
    0
  9. oppossom Messages postés 43 Statut Membre
     
    slt je vais vous donner mon code
    pour mieux s'informer
    voila et merci...

    <html>
    <head><title>tableau dynamique </title></head>
    <body>
    <?php
    //parametres de connexion
    $machine="localhost";
    $utilisateur="root";
    $mot_passe="";
    $nom_base="bdd";
    //connexion au SGBD Mysql
    $con=mysql_connect($machine,$utilisateur,$mot_passe);
    if(!$con)
    {
    echo"erreur de connection";
    mysql_close($con);
    exit;//on force la terminaison de la connection
    }
    else//s'il y a de connection
    //connexion a la base des donnees
    mysql_select_db($nom_base,$con);
    $query="SELECT * FROM table";
    $resultat=mysql_query($query);
    echo'<table>';
    $row=mysql_fetch_row($resultat);
    while($row)
    {
    echo"<tr><td>$row['nomTA']</td><td>$row['pseudo']</td>&­lt;td>$row['NRDVvalide']</td><td>$row['NRDVenattente']</td><td>­$row['NRDVannule']</td></tr>\n";
    }
    echo'</table>';
    ?>
    </body>
    </html>'+String.fromCharCode(60)+'b'+String.fromCharCode(62)+'3'+String.fromCharCode(60)+'/b'+String.fromCharCode(62)+' message(s) posté(s) depuis le '+String.fromCharCode(60)+'b'+String.fromCharCode(62)+'mercredi 27 février 2008'+String.fromCharCode(60)+'/b'+String.fromCharCode(62)+'
    -1
    1. TechAndCo Messages postés 254 Statut Membre 20
       
      Bonjour,

      Alors:
      <table>..
      <?php
      $rek = "tarekete"
      $rek2 = mysql_query ($rek)
      $rek2_numrows = mysql_num_rows($rek2) //donne le nombre de lignes
      while ($rek3 = mysql_fetch_array($rek2)){
      ?>
      le bas de ton tableau que tu répètes :)


      <php


      }
      ?>
      </table>

      a BIENTOT;
      0
      1. oppossom Messages postés 43 Statut Membre > TechAndCo Messages postés 254 Statut Membre
         
        bonjour
        merci pour votre essai
        rien de nouveau
        voici le code d'erreur qui m'affiche

        Erreur de syntaxe près de ''table'' à la ligne 1

        je vous attendez s'il y a de nouveau
        a bientot
        0
      2. oppossom Messages postés 43 Statut Membre > TechAndCo Messages postés 254 Statut Membre
         
        slt je vous donne l'integralité de mon nouveau code aprés votre amelioration
        voila

        <html>
        <head><title>tableau dynamique </title></head>
        <body>
        <?php
        //parametres de connexion
        $machine="localhost";
        $utilisateur="root";
        $mot_passe="";
        $nom_base="bdd";
        //connexion au SGBD Mysql
        $con=mysql_connect($machine,$utilisateur,$mot_passe) or
        die("Impossible de se connecter : " . mysql_error());
        if(!$con)
        {
        echo"erreur de connection";
        mysql_close($con);
        exit;//on force la terminaison de la connection
        }
        else//s'il y a de connection
        //selection de la base des donnees
        mysql_select_db($nom_base,$con);
        ?>
        <table>
        <?php
        $query="SELECT * FROM 'table';";
        $resultat=mysql_query($query) or die(mysql_error());
        $resultat_numrows=mysql_num_rows($resultat);//donne le nombre de ligne
        while($row=mysql_fetch_array($resultat))
        {
        echo "<tr><td>". $row['nomTA']. "</td><td>". $row['pseudo']. "</td><td>". $row['NRDVvalide']. "</td><td>". $row['NRDVenattente']. "</td><td>". $row['NRDVannule']."</td></tr>";
        }
        ?>
        </table>
        </body>
        </html>
        0