Transformer une requete SQL à 1 seule colonne en un tableau.

Transformer une requete SQL à 1 seule colonne en un tableau. - PHP - Programmation

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.
 
++

Reply

Marsh Posté le 01-08-2004 à 17:34:46   

Reply

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

Reply

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 :
 


+-------+
|Blabla1|
|Blabla2|
|Blabla3|
|Blabla4|
|Blabla5|
|Blabla6|
+-------+


 
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.


Message édité par Dj YeLL le 01-08-2004 à 17:59:06
Reply

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 :/

Reply

Marsh Posté le 01-08-2004 à 18:03:09    

Ok, bon ben je vais passer par la bonne vieille méthode alors :)
 
Merci

Reply

Marsh Posté le 01-08-2004 à 18:11:31    

Non je confirme rien de direct

Reply

Marsh Posté le 01-08-2004 à 19:02:09    

Ok, merci :)

Reply

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 ) ?

Reply

Marsh Posté le 01-08-2004 à 20:05:58    

pascal_ a écrit :

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 ) ?


 
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 :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed