Faire un tableau 2 dimensions à partir d'une table SQL ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Faire un tableau 2 dimensions à partir d'une table SQL ?

ZE solution

par toto37 » 14 sept. 2005, 23:56

ok!

par Tho » 14 sept. 2005, 11:01

Oui j'ai pas posté sans tester ;)
mais c'est sideb qui devrait répondre.

ZE solution

par toto37 » 13 sept. 2005, 18:04

j'en sais rien ta essayé? ca marche?

par Tho » 13 sept. 2005, 14:15

<?php
// Connexion à la base
// ???

// Initialisation
$table = "inscription";

// Entete
$requete = "DESCRIBE $table";
$resultat = mysql_query($requete) or die(mysql_error());
while($ligne = mysql_fetch_array($resultat)) 
  $entete[] = $ligne['Field'];

$tableau[] = $entete; // première ligne du tableau

// Données
$requete = "SELECT * FROM $table";
$resultat = mysql_query($requete) or die(mysql_error());
while ($tableau[] = mysql_fetch_row($resultat)) 
  ;  // l'instruction est dans la condition

// Affichage
echo "<pre>".print_r($tableau,true)."</pre>";
?>
qu'en penses-tu ?

ze solution

par toto37 » 13 sept. 2005, 13:49

je vois..

En meme temps si tu veux faire un tableau a deux dimension destiné à l'affichage ma solution est parfaite......

Re: ze solution

par sideb » 13 sept. 2005, 07:26

Euh...

tu veux afficher un tableau a deux dimension ou tu veux créer une variable a deux dimensions?

moi j'avais compris la 1ere solution.....

Si ca te convien pas dit le moi on va revoir ça!

mais essaye deja ça!
une variable à deux dimensions avec le nom des champs MySQL sur la premiere ligne.

exemple:
$resultat [0][0] = id; //nom du premier champs
$resultat [0][1] = nom; //nomdu deuxieme champs
...
$resultat [1][0] = 1; //premiere ligne et premier champs de la table
$resultat [1][1] = toto; //premiere ligne et deuxieme champs de la table
...
$resultat [n][0] = 1; //ligne n et premier champs de la table
$resultat [n][1] = toto; //ligne en et  deuxieme champs de la table
[/quote]

ze solution

par toto37 » 13 sept. 2005, 02:51

Euh...

tu veux afficher un tableau a deux dimension ou tu veux créer une variable a deux dimensions?

moi j'avais compris la 1ere solution.....

Si ca te convien pas dit le moi on va revoir ça!

mais essaye deja ça!

ze solution

par toto37 » 13 sept. 2005, 02:48


$requete = 'SELECT * FROM inscription';
$reponse = mysql_query($requete); 
$nombrechamps = mysql_num_fields($reponse);


for ($j=0;$j<$nombrechamps;$j++)
{
$nomchamp[] = mysql_field_name($reponse,$j);
}

echo "<table border ='1'>";
echo "<tr>";
for ($i=0;$i<$nombrechamps;$i++)
{
echo ('<td>');

echo ('<center>'.$nomchamp[$i].'</center>');
echo ('</td>');
}
echo "</tr>";
while ($result = mysql_fetch_row($reponse))
{
echo ('<tr>');
for ($i=0;$i<$nombrechamps;$i++)
{

echo ('<td>');

echo ('<center>'.$result[$i].'</center>');
echo ('</td>');
}
echo ('</tr>');
}
echo "<table>";
voila : je t'ai fait un script qui permet d'afficher les résultats trouvés pour chaques champs existants dans la table c'est bien ça que tu voulais?

ze solution

par toto37 » 13 sept. 2005, 02:47


$requete = 'SELECT * FROM inscription';
$reponse = mysql_query($requete); 
$nombrechamps = mysql_num_fields($reponse);


for ($j=0;$j<$nombrechamps;$j++)
{
$nomchamp[] = mysql_field_name($reponse,$j);
}

echo "<table border ='1'>";
echo "<tr>";
for ($i=0;$i<$nombrechamps;$i++)
{
echo ('<td>');

echo ('<center>'.$nomchamp[$i].'</center>');
echo ('</td>');
}
echo "</tr>";
while ($result = mysql_fetch_row($reponse))
{
echo ('<tr>');
for ($i=0;$i<$nombrechamps;$i++)
{

echo ('<td>');

echo ('<center>'.$result[$i].'</center>');
echo ('</td>');
}
echo ('</tr>');
}
echo "<table>";
voila : je t'ai fait un script qui permet d'afficher les résultats trouvés pour chaques champs existants dans la table c'est bien ça que tu voulais?

Faire un tableau 2 dimensions à partir d'une table SQL ?

par sideb » 13 sept. 2005, 01:41

voila je galere j'ai regardé un peu toute les fonctions php qui touche à MySQL et j'arrive pas a trouver la solution à mon problème.

Je voudrais faire une variable tableau a deux dimensions a partir d'une table sql.

1. Mon premier probleme c'est que je vois pas comment recuperer le nom des champs sql pour les mettre sur la premier ligne du tableau.
2. Mon second quel fonction utiliser pour réaliser ceci, je pensais à mysql_fetch_assoc() ou mysql_fetch_array().

(ça fait tres charade hihi)

Voila ce que je voudrais obtenir:
$requete = 'SELECT * FROM Table';
....
$resultat = array[ligne][colonne] ou array [colonne][ligne];

//exemple:
$resultat [0][0] = id; //nom du premier champs
$resultat [0][1] = nom; //nomdu deuxieme champs
...
$resultat [1][0] = 1; //premiere ligne et premier champs de la table
$resultat [1][1] = toto; //premiere ligne et deuxieme champs de la table
...
$resultat [n][0] = n; //ligne n et premier champs de la table
$resultat [n][1] = toto; //ligne en et  deuxieme champs de la table 
Merci d'avance pour votre aide à tous ++