|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : décembre 2007 Messages : 13 ![]() |
Bonjour,
J'essaie de faire une requete SELECT sur une table dont le noms des colonne est un paramètre. je ne parviens pas à obtenir une syntaxe correcte. Voici les détails de mon problème. J'espère que vous pourrez me trouver une petite piste pour progresser. Merci ! Table "series" : id | nom | ... | A | B | C | D | ... où A, B, C sont des colonnes correspondantes aux utilisateurs du site. Elles contiennet un simple champ booléen permettant de savoir si l'utilisateur "A" possède l'article "id" ou non, en sachant que plusieurs utilisateurs (A,B,C,..) peuvent l'avoir simultanément. Je voudrais faire une requête en sélectionnant les données concernant à mon utilisateur et donc recueillir les infos juste d'une colonne - disons B - et pas toutes les colonnes : $parametre = $_SESSION['mon_id'] $sql = "SELECT id,nom,$parametre FROM series"; et puis je tente de récupérer les données avec la variable $data['$parametre'] (pour obtenir $data['B'] ) mais sans succès. Ni pour la requête, ni pour la suite... Pourriez-vous me conseillez ? Merci ! Stéphane |
|
|
00
|
|
|
#2 | ||||
|
Invité(e)
Messages : n/a ![]() |
Salut,
As tu fait un echo de la variable $sql pour voir si ta requete est bien formatée? Fais attention aussi, car certains SGBDR ont besoins de guillemets sur certains champ dès lors qu'ils sont en majuscule. Ce qui fait que j'écrirais: Code :
Code :
|
||||
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : décembre 2007 Messages : 13 ![]() |
OKi, merci, je vais essayer cela de suite !
A tout de suite ... ;-) |
|
|
00
|
|
|
#4 | ||||||
|
Invité régulier
![]() Inscription : décembre 2007 Messages : 13 ![]() |
Voilà, je progresse mais cela ne fonctionne toujours pas :
Code :
PID=1 et AMIS=2,3 et Requête : SELECT sid,nom,lettre,1,2,3 FROM series ORDER BY lettre,nom ce qui est correct. Le problème, c'est de pouvoir accéder aux données dans les colonnes nommées 1, 2 ou 3. Voici le test qui illustre le mieux le problème : Code :
Array ( [sid] => 8 [nom] => 421 [lettre] => 4 [1] => 1 [2] => 2 [3] => 3 ) alors que ma banque de données est pour le moment toujours nulle partout et donc je devrais obtenir : ... [1] => 0 [2] => 0 [3] => 0 mais apparement, la valeur affichée semble prendre le nom de la colonne... :-( Si vous pouviez me mettre sur la voie, ce serait vraiment génial... je suppose un problème de guillemets ou quelque chose dans la syntaxe... Le but final est de pouvoir utiliser les données de cete manière : Code :
Ps : voici mon fichier complet en attach, si besoin. MERCI ! |
||||||
|
|
00
|
|
|
#5 | ||
|
Invité(e)
Messages : n/a ![]() |
Je pense que tu devrais maintenant filtrer sur les champs en question:
Tu disais que tes colonnes étaient des champs booléen. Donc tu devrais avoir une requete du style: Code :
|
||
00
|
|
|
#6 |
|
Invité régulier
![]() Inscription : décembre 2007 Messages : 13 ![]() |
Merci pour la réponse...
J'aurais encore une question pour avancer... Comment puis-je fair pour faire focntionner une instruction comme où $_SESSION['pid'] = "B"; par exemple de manière à avoir la valeur de $data['B'] au final |
|
|
00
|
|
|
#7 | ||
|
Invité(e)
Messages : n/a ![]() |
Si $data correspond à la variable qui récupère les données d'une requete alors ce que tu as écrit devrait fonctionner.
ex: Code :
|
||
00
|
Copyright © 2000-2012 - www.developpez.com