avoir des virgules dans un resultat SQL - PHP - Programmation
Marsh Posté le 03-05-2010 à 07:40:00
pour obtenir ce résultat sans virgule, tu utilises une boucle non ?
Dans ce cas fais une concaténation dans cette boucle.
$result = mysql_query("SELECT * FROM matricule" );
$resultat="";
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$result.=($result==""?",":"" ).$row['matricule'];
}
echo $result;
Marsh Posté le 03-05-2010 à 08:41:16
tu ne peux pas faire ta requete en une fois , genre
SELECT bidule FROM truc WHERE matricule IN ( SELECT matricule FROM table)
ou plus propre, avec une jointure
Marsh Posté le 03-05-2010 à 09:50:17
et si c'était juste un problème d'affichage, un retour à la ligne manquant...
Marsh Posté le 03-05-2010 à 09:56:01
ou un truc du genre :
Code :
|
Marsh Posté le 03-05-2010 à 13:18:54
il veut pas juste afficher un grand nombre "coupé" en lots de 4 chiffres [chien de mickey] que de rassembler plusieurs valeurs comme vous faites
genre 10000000000 => 10.000.000.000
enfin ché pas c'est comme ça que je comprends sa question
Si c'est comme vous dites, je dirais "select concat(n1,',',n2,','...)"
Marsh Posté le 03-05-2010 à 13:54:59
art_dupond a écrit : |
Oui si c'est valeur sont dans la même occurrence, si c'est des valeurs sur plusieurs occurrences non
Ça serais bien qu'il se manifeste fireman243 pour nous dire ce qu'il veux ou peut-être a-t-ilo déjà trouvé
Marsh Posté le 05-05-2010 à 09:00:25
salut à tous en stage en ce moment pas de connexion internet merci pour vos précieux coups de main je regarde et vous tiens informé , objectif j'ai rentré ces valeurs ds ma table 2338 2410 2535 .
je veux les réutiliser ds un select pour afficher sur une ligne toutes les dispos de chaque agent du type :
2338 le 24 dispo en jour
2338 le 16 dispo en nuit
2410 le 15 dispo en 24h
2535 le 3 dispo en nuit
ensuite réaliser un tableau de ce type avec un résultat par ligne avec un regroupement par matricule
1 2 3 4 5
2338 jour nuit
2410 jour 24 h
2535 jour
de ce fait j'ai fait un
select matricule from tbl_user order by matricule ;
je fais un echo sur cette requete pour verifier mon résultat j'obtiens 233824102535
Seulement pour afficher les dispos en ligne de chaque agent je dois faire
Select * from dispos where matricule in 2338,2410,2535 ;
comme cela ça fonctionne biensur
Sauf que je veux intégrer une variable après le in pour intégrer la liste de s matricules comme cela je n'ai pas besoin de tous les saisir.
ce qui donnerait select * from dispo where matricule in $listematricule ;
merci
Marsh Posté le 05-05-2010 à 09:41:49
salut stefdoberman
ton script fonctionne trés bien j'obtiens bien le résultat sous la forme que je veux mais comment alors intégrer sous forme d e variable ton
echo implode ??? car le resultat qu'il me ressort est excatement ce que je veux sous forme d evariable
merci
Marsh Posté le 05-05-2010 à 12:33:51
Code :
|
et tu continu ton script comme tu l'entend
ou sinon
Code :
|
pour l'utiliser plus loin.
ensuite tu peut aussi utiliser des fonctions..
Code :
|
que tu utilise comme suit par exemple :
Code :
|
attention i faut prendre soin de vérifier qu'il y ai des matricules, sinon la deuxième requête génère une erreur.
Marsh Posté le 05-05-2010 à 23:56:30
Que dire c'est clair c'est net j'i tout compris y ' a plus qu'a tester mtn
merci vraiment grand merci à toi et au forum !!
Marsh Posté le 02-05-2010 à 19:38:15
bonjour surement tres simple a effectuer
mais je ne trouve pas comment obtenir un résultat d'une requete SQL séparé par des virgules afin de pouvoir l'intégrer ds une variable et le réutiliser dans une autre requete .
voici mon resultat 2338240125355689 suite a une requete SELECT * from matricule.
et je voudrais obtenir cela 2338,2401,2535,5689
merciiiiiiiiiiiiiiiii
---------------
Jeremy