[PHP] Transformer requete mysql en tableau

colas31 Messages postés 143 Statut Membre -  
amawalpe Messages postés 1 Statut Membre -
Bonjour,
J'ai un soucis et je voudrais transformer une requete mySQL en tableau:
$select = "SELECT * FROM loisirs";
$result = mysql_query($select);

Comment obtenir de $result un tableau?
Il existe la fonction mysql_fetch_array($result), mais elle ne retourne qu'une ligne!
Comment puis je faire??

Merci
A voir également:

11 réponses

amawalpe Messages postés 1 Statut Membre 1
 
Je pense qu'il y a une confusion sur le nombre de dimension du tableau dès le départ.

Je crois qu'un array issu de fetcharray éclate les données d'UNE SEULE ligne sur un tableau d'une dimension :
Ligne[champ1], Ligne[champ2], Ligne[champ3].

En revanche, le demande était peut-être de monter un tableau à 2 dimensions type :
Ligne[0,champ1], Ligne[0,champ2], Ligne[0,champ3]
Ligne[1,champ1], Ligne[1,champ2], Ligne[1,champ3]
Ligne[3,champ1], Ligne[3,champ2], Ligne[3,champ3]

Je sais pas si c'est possible...
1
Impli Messages postés 238 Statut Membre 34
 
mysql_fetch_array retourne déjà le résultat sous forme de tableau.

Je comprends pas vraiment la question ..
0
colas31 Messages postés 143 Statut Membre 21
 
Est ce le tableau général de la requete? ou simplement le tableau contenant la 1ere ligne?
0
Impli Messages postés 238 Statut Membre 34
 
C'est un tableau général.

Regarde ce que tu retournes le code suivant :

<pre>
<?php echo mysql_fetch_array($result) ?>
</pre>
0
colas31 Messages postés 143 Statut Membre 21
 
Ca ne m'affiche que "array"???
0
Impli Messages postés 238 Statut Membre 34
 
Tu souhaites afficher le tableau des données de manière brute ou dans un tableau HTML ?
0
colas31 Messages postés 143 Statut Membre 21
 
Je souhaite qu'il soit sous forme html mais je ne veux pas utiliser:
while ($row = mysql_fetch_array($result))
Je souhaite remplacer $row = mysql_fetch_array($result) que par une variable qui soit un tableau.
0

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

Posez votre question
Impli Messages postés 238 Statut Membre 34
 
J'ai du mal à comprendre la finalité.

Tu veux en faire quoi exactement de cette variable finale qui ne contient qu'un tableau HTML avec tes données ?
0
colas31 Messages postés 143 Statut Membre 21
 
Je souhaite avoir les données du résultat de la requete dans un unique tableau (une variable), et ce tableau sera traité dans un while pour afficher les données dans un <table>.
Est ce que j'ai été assez clair?
0
Impli Messages postés 238 Statut Membre 34
 
Quand je parlais d'un tableau HTML, je parlais d'un <table></table>.

Pourquoi ne pas afficher directement les données dans un <table></table> alimenté par un while ?


Tu feras une seule boucle au lieu de deux pour afficher tes données. (Etant donné que tu dois quand même faire un while si tu veux contenir le résultat de mysql_fetch_array pour les mettre dans un array).
0
colas31 Messages postés 143 Statut Membre 21
 
Donc je suis obliger d'effectuer un premier traitement while pour tout mettre dans un tableau et un deuxieme while pour retraiter ce tableau sur demande d'un prof pour un projet!!
Comment puis je faire mon premier while pour avoir toutes les données dans un array?
0
toma_f_1 Messages postés 94 Statut Membre 7
 
$tablo
$index = 0;

while ($row = mysql_fetch_array($result)) {
$tablo[$index] = $row;
$index += 1;
}

//et apres tu manipule ton $tablo

Note bien : la fonction mysql_fetch_array($result) fonctionne comme un curseur qui renvoit la prochaine ligne uniquement de ton resultat mysql sous forme d'un tableau.

par exemple si tu as

1---toto----rue de la paix
2---tata----rue de la guerre
3---titi-----rue de la boule

le 1er appel à mysql_fetch_array($result) te renverra un tableau de taille 3 comme ceci
{1;toto;rue de la paix} par exemple $row[1] = toto

c'est pourquoi tu es obligé de passer par un while pour récuperer toutes les lignes.


en regle général le manuel php.net est trés bien fait : et il y a des exemples !!!!

https://www.php.net/manual/fr/function.mysql-fetch-array.php
0
colas31 Messages postés 143 Statut Membre 21
 
OK. Merci beaucoup pour ton aide!!!
0
Impli Messages postés 238 Statut Membre 34
 
Je suis bête ...

Plutot que de faire
<?php echo "<pre>";
echo mysql_fetch_array($result);
echo "</pre>";
?>


Essaie avec

<php echo "<pre>";
print_r(mysql_fetch_array($result));
echo "</pre>";
?>


Et dis moi si le tableau s'affiche mieux stp. (Ca sera un tableau brut)
0
colas31 Messages postés 143 Statut Membre 21
 
Voila le resultat de ta requete, mais je pense que je vais suivre l'idée thomas.

Array
(
[0] => 1
[NumL] => 1
[1] => Ville
[Lieu] => Ville
[2] => Danse
[Act] => Danse
[3] => Soir
[Hor] => Soir
)
0
Impli Messages postés 238 Statut Membre 34
 
Hum, l'idée est la même, mais bon : )
0
toma_f_1 Messages postés 94 Statut Membre 7
 
remarque au passage,

Array
(
[0] => 1
[NumL] => 1
[1] => Ville
[Lieu] => Ville
[2] => Danse
[Act] => Danse
[3] => Soir
[Hor] => Soir
)

comme tu peux le voir ici, tu as une ligne de ton résultat (1, ville, danse, soir)

ils ont pensé à tout chez php et mysql puisque chaque case du tableau est accessible soit en utilisant un index soit en utilisant le nom de la colonne.

par exemple, ici, si tu fais $tonarray[1] ca renverra la même chose que $tonarray["Lieu"], c'est à dire "Ville".

a+
0