Petite question mysql

  • Auteur de la discussion Auteur de la discussion mowmow
  • Date de début Date de début
WRInaute impliqué
Bonjour à tous,

J'aurais une toute petite question au niveau de MySQL : quelle est la fonction qui permet de récupérer toutes les valeurs d'un champ donné pour chaque enregistrement sous la forme d'une seule chaîne séparée par un séparateur comme "," ou autre. Je m'en souviens plus :(

Exemple : SELECT id FROM matable transformé en SELECT concatenation(id, ",") FROM matable

Merci d'avance ;)
 
WRInaute impliqué
Oui mais je désire concaténer tous les champs id de mes enregistrements.

Imaginons :
Code:
+-------+---------+
| id    | data    |
+-------+---------+
|  3332 | 43.1573 |
| 26314 | 50.8671 |
| 20631 | 48.9354 |
| 36760 | 46.7677 |
|  2500 | 44.5296 |
+-------+---------+
5 rows in set (0.17 sec)

Et bien j'aimerais récupérer simplement 3332,26314,20631,36760,2500 ;)
 
WRInaute occasionnel
Sinon pour récupérer en colonne, tu peux essayer comme ça

Code:
$r = "SELECT id FROM table WHERE 1";
$sql = mysql_query($r,$id);
$tab = array();
$i = 0;
while($row=mysql_fetch_array($sql,MYSQL_ASSOC)) {
$tab[$i++] = $row["id"];
}
$res = implode(",", $tab));

y'a surement mieux...
 
WRInaute impliqué
Ouais mais l'intérêt c'était de récup ca dans la requete premiere, la jmen tape deux :) Bon c'est pas grave j'ai trouvé une solution alternative ;)

Merci bien :)
 
Discussions similaires
Haut