Affichage résultat requête tableau dynamique [Résolu/Fermé]

Signaler
Messages postés
13
Date d'inscription
vendredi 19 janvier 2007
Statut
Membre
Dernière intervention
20 avril 2009
-
Messages postés
43
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
14 avril 2008
-
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.

8 réponses

Messages postés
441
Date d'inscription
jeudi 25 janvier 2007
Statut
Membre
Dernière intervention
11 août 2009
83
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/...
comment je peux utiliser le concept "starfield display" dans visual basic 6
Messages postés
43
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
14 avril 2008

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)+'
Messages postés
43
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
14 avril 2008

l'astuce est comment recuperer le contenu de tous les champs du table d'une base des donnees et les afficher dans un tableau.
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
Messages postés
252
Date d'inscription
jeudi 3 mai 2007
Statut
Membre
Dernière intervention
4 octobre 2010
20
'table' c'est le nom de ta table ?
Messages postés
43
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
14 avril 2008

oui le nom de ma table est 'table' et ma base est 'bdd'
Messages postés
43
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
14 avril 2008

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>
Messages postés
43
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
14 avril 2008

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)+'
Messages postés
252
Date d'inscription
jeudi 3 mai 2007
Statut
Membre
Dernière intervention
4 octobre 2010
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;
Messages postés
43
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
14 avril 2008
>
Messages postés
252
Date d'inscription
jeudi 3 mai 2007
Statut
Membre
Dernière intervention
4 octobre 2010

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
Messages postés
43
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
14 avril 2008
>
Messages postés
252
Date d'inscription
jeudi 3 mai 2007
Statut
Membre
Dernière intervention
4 octobre 2010

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>