Affichage résultat requête tableau dynamique

Résolu/Fermé
gollumeries Messages postés 13 Date d'inscription vendredi 19 janvier 2007 Statut Membre Dernière intervention 20 avril 2009 - 1 févr. 2007 à 11:50
oppossom Messages postés 43 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 14 avril 2008 - 27 févr. 2008 à 23:33
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

atomy Messages postés 441 Date d'inscription jeudi 25 janvier 2007 Statut Membre Dernière intervention 11 août 2009 92
1 févr. 2007 à 17:31
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
comment je peux utiliser le concept "starfield display" dans visual basic 6
0
oppossom Messages postés 43 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 14 avril 2008
27 févr. 2008 à 12:14
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
oppossom Messages postés 43 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 14 avril 2008
27 févr. 2008 à 12:15
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
TechAndCo Messages postés 252 Date d'inscription jeudi 3 mai 2007 Statut Membre Dernière intervention 4 octobre 2010 20
27 févr. 2008 à 13:18
'table' c'est le nom de ta table ?
0
oppossom Messages postés 43 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 14 avril 2008
27 févr. 2008 à 14:01
oui le nom de ma table est 'table' et ma base est 'bdd'
0
oppossom Messages postés 43 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 14 avril 2008
27 févr. 2008 à 23:33
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
oppossom Messages postés 43 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 14 avril 2008
27 févr. 2008 à 12:16
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
TechAndCo Messages postés 252 Date d'inscription jeudi 3 mai 2007 Statut Membre Dernière intervention 4 octobre 2010 20
27 févr. 2008 à 12:47
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
oppossom Messages postés 43 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 14 avril 2008 > TechAndCo Messages postés 252 Date d'inscription jeudi 3 mai 2007 Statut Membre Dernière intervention 4 octobre 2010
27 févr. 2008 à 13:09
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
oppossom Messages postés 43 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 14 avril 2008 > TechAndCo Messages postés 252 Date d'inscription jeudi 3 mai 2007 Statut Membre Dernière intervention 4 octobre 2010
27 févr. 2008 à 13:11
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