Transformer une requete SQL à 1 seule colonne en un tableau. - PHP - Programmation
Marsh Posté le 01-08-2004 à 17:52:26
Tout dépend si ta requête ne renvoi qu'une seule ligne ou pas ..
Si c'est le cas, tu as plusieurs fonctions :
mysql_fetch_assoc() : Tableau associatif
mysql_fetch_row() : Tableau indexé numériquement
mysql_fetch_object() : Objet
Marsh Posté le 01-08-2004 à 17:54:31
Non en fait ma requete retourne plusieurs lignes, mais une seule colonne.
En gros le resultat de ma requete est :
|
et je vous le transformer en un tableau
du genre : array('Blabla1', 'Blabla2' ...);
Mais sans passer par un while ou un num_row ou tout autre chose.
En fait il me semblait qu'une fonction existait pour avoir directement un array dans le cas d'un resultat à 1 seule colonne.
Marsh Posté le 01-08-2004 à 18:00:30
Pour moi, non, y a rien de direct pour le faire simplement parce que mysql n'envoie les résultats qu'un à un et pas tous en une fois
Marsh Posté le 01-08-2004 à 18:03:09
Ok, bon ben je vais passer par la bonne vieille méthode alors
Merci
Marsh Posté le 01-08-2004 à 19:47:49
naceroth a écrit : Pour moi, non, y a rien de direct pour le faire simplement parce que mysql n'envoie les résultats qu'un à un et pas tous en une fois |
T'es sûr de toi ?
Le comportement que tu décris, ce n'est pas celui de unbuffered_query ( http://fr.php.net/manual/fr/functi [...] -query.php ) ?
Pourrait-il y avoir des fonctions comme mysql_data_seek ( http://fr.php.net/manual/fr/functi [...] a-seek.php ) ?
Marsh Posté le 01-08-2004 à 20:05:58
pascal_ a écrit : T'es sûr de toi ? |
Sûr à 100% non, mais comme le résultat d'un mysql_query est une ressource et pas un tableau (d'après le manuel), je penche pour un accès séquentiel plus que global.
Maintenant, je me suis en effet mal exprimé, j'aurais du dire que PHP n'accédait aux résultats mysql qu'un à un et ne les récupérait pas tous en une fois
Marsh Posté le 01-08-2004 à 17:34:46
Si l'on fait un :
"SELECT column FROM table"
On a les données sur 1 seule colonne.
Existe t'il un moyen rapide de transformer cette colonne en tableau ?
Plutot que faire :
while($row = mysql_fetch_array($result))
{
$tableau[] = $row[0];
}
Je suppose qu'une telle fonction doit exister... j'ai essayé de chercher sur le forum et sur google, mais je n'ai pas trouvé. A vrai dire je ne sais même pas vraiment quelle texte rechercher...
Merci par avance.
++