Tableau dynamique ?!? Problèmeu :(

cs_Tiriel Messages postés 21 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 9 juin 2004 - 26 avril 2004 à 17:36
cs_Tiriel Messages postés 21 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 9 juin 2004 - 27 avril 2004 à 11:18
Voilà mon problème je souhaiterais afficher mon tableau sous forme de 2 colonne la 1ère colonne avec le nom des champs et la deuxième avec un résultat cohérent. Mais manque de bol quand j'exécute mon code j'obtient bien les 2 colonnes souhaitées avec les bon renseignement, par contre elles sont une au-dessus de l'autre.

c-à-d à la place d'avoir :

1ère colonne | 2ème colonne
nom | TOTO
prénom | Tutu
... | ...

j'obtient ceci : 1ère colonne
nom
prénom
...
2ème colonne
TOTO
Tutu
...

Voici le code en question :

<code>
<html>
<head>
<title></title>
</head>

<?php
function creertabver($result)
{
?>
<? // crée l'en-tête du tableau avec les noms des champs de la requête
include(\"date.php\");

for ($i = 0 ; $i < mysql_num_rows($result); $i++)
{
for ($i=0; $i < mysql_num_fields($result); $i++)
{
echo (\"----
" . mysql_field_name($result, $i) ." |\");
}
echo (\"----
\");

$tbl_colonne = mysql_fetch_array ($result, MYSQL_BOTH);

for ($j=0; $j < mysql_num_fields($result); $j++)
{
echo (\"----
" . $tbl_colonne[$j] ."
<?
}
?>

</html>

Merci d'avance à tous ceux qui vont bosser à résoudre ce problème ;)

5 réponses

cs_Delwyn Messages postés 24 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 29 avril 2004
27 avril 2004 à 09:33
alors deja un truc bizare :


for ($i = 0 ; $i < mysql_num_rows($result); $i++)
{
for ($i=0; $i < mysql_num_fields($result); $i++)
{
echo ("<TR><TH bgcolor=#cccccc align=left>" . 	mysql_field_name($result, $i) ."</TH></TR>");
}
//......
}


C'est le même indice $i je pense qu'il aime pas trop :/

De plus tu dois avoir une boucle en trop :(

Donc je propose ca mais je n'assure rien de sa validité :

<code><?php
function creertabver($result)
{
?>
<? // crée l'en-tête du tableau avec les noms des champs de la requête
include(\"date.php\");

$tbl_colonne = mysql_fetch_array ($result, MYSQL_BOTH);
for ($i = 0 ; $i < mysql_num_rows($result); $i++)
{
echo (\"----
" . mysql_field_name($result, $i) ."
<?
}
?>

Tiens moi au courrant
0
cs_Delwyn Messages postés 24 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 29 avril 2004
27 avril 2004 à 09:34
alors deja un truc bizare :


for ($i = 0 ; $i < mysql_num_rows($result); $i++)
{
for ($i=0; $i < mysql_num_fields($result); $i++)
{
echo ("<TR><TH bgcolor=#cccccc align=left>" . 	mysql_field_name($result, $i) ."</TH></TR>");
}
//......
}


C'est le même indice $i je pense qu'il aime pas trop :/

De plus tu dois avoir une boucle en trop :(

Donc je propose ca mais je n'assure rien de sa validité :

<code><?php
function creertabver($result)
{
?>
<? // crée l'en-tête du tableau avec les noms des champs de la requête
include(\"date.php\");

$tbl_colonne = mysql_fetch_array ($result, MYSQL_BOTH);
for ($i = 0 ; $i < mysql_num_rows($result); $i++)
{
echo (\"----
" . mysql_field_name($result, $i) ."
<?
}
?>

Tiens moi au courrant
0
cs_Delwyn Messages postés 24 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 29 avril 2004
27 avril 2004 à 09:37
hum dsl le forum lag, le code a prendre est le dernier pas le premier, juste un petit probléme de <tr></tr>
0
cs_Tiriel Messages postés 21 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 9 juin 2004
27 avril 2004 à 11:13
Voilà j'ai réussi à m'en sortir en fait. Ya le problème du "<tr>" "</tr>" et un problème au niveau de la deuxième boucle "for" avec "$j" comme variable de test (cf "le code en question" du 1er message), c'est pas vraiment un problème c'est juste qu'elle est mal placée. Merci pour l'aide Delwyn, le code que tu as modifié fonctionne presque mais il ne m'affiche pas un de mes champs (et oui je l'ai quand même testé pour voir ;) ). Pour afficher le tout il faut les 2 boucles "for" comme ci-dessous (ça n'a pas l'air de déranger d'avoir la même variable de test dans 2 boucles "for" différentes).

Code correct :

<code>
<html>
<head>
<title></title>
</head>

<?php
function creertabver($result)
{
?>
<? // crée l'en-tête du tableau avec les noms des champs de la requête
include(\"date.php\");

$tbl_colonne = mysql_fetch_array ($result, MYSQL_BOTH);

for ($i = 0 ; $i < mysql_num_rows($result); $i++)
{
for ($i=0; $i < mysql_num_fields($result); $i++)
{
echo (\"----
" . mysql_field_name($result, $i) ." |\");

echo (\"" . $tbl_colonne[$i] ."
<?
}
?>

</html>

Bonus code!!! :big)

Créé un tableau mais sous forme de ligne :

nom | prénom | ...
Toto | Tutu | ...

<code>
<html>

<head>
<title></title>
</head>

<?php
function creertabhor($result)
{
?>
<? // crée l'en-tête du tableau avec les noms des champs de la requête
for ($i =0; $i < mysql_num_fields($result); $i++)
{
echo (\"" . mysql_field_name($result, $i) . " |\");
}
?>

<? // crée les lignes du tableau
for ($i = 0 ; $i < mysql_num_rows($result); $i++)
{
echo (\"----
\");
$tbl_ligne = mysql_fetch_array ($result, MYSQL_BOTH);
for ($j=0; $j < mysql_num_fields($result); $j++)
{
echo (\"" . $tbl_ligne[$j] . "
<?
}
?>

</html>
0

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

Posez votre question
cs_Tiriel Messages postés 21 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 9 juin 2004
27 avril 2004 à 11:18
Juste pour préciser le premier code ne me sert uniquement à afficher 1 enregistrement. Tandis que le deuxième permet d'afficher tous les enregistrement d'une bdd. Voilà :)
Merci encore d'avoir jeté un oeil sur mon code Delwyn ;)
0
Rejoignez-nous