Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1215 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Sélectionner une valeur dans un array multidimensionnel (+SQL & PDO)

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Sélectionner une valeur dans un array multidimensionnel (+SQL & PDO)

n°2261130
saint malo
Posté le 25-06-2015 à 10:31:26  profilanswer
 

Hello,
Ma question porte également sur PDO et SQL, donc peut-être qu'elle devrait être dans la catégorie SQL, je m'excuse si c'est le cas :)
 
Mettons que j'ai le code suivant :
 

Code :
  1. $foo = $bdd->prepare($rqt);
  2. $foo->execute();
  3. $resultats = $foo->fetchAll();


Et dans $rqt, je mets une requête select (avec une jointure entre les tables "Beatles b" et "Statut s" sur les colonnes "statut_id" ), tel que le résultat est le suivant :
 

Code :
  1. b.id    b.firstname    b.lastname    b.statut_id   s.statut_id     s.statut
  2. 0       John           Lennon        0             0               Mort
  3. 1       Paul           McCartney     1             1               Vivant
  4. 2       Ringo          Starr         1             1               Vivant
  5. 3       George         Harrison      0             0               Mort


(La première ligne est le nom des colonnes, qui ne sort pas comme résultat de la requête, mais est important pour ma question)  
 
Est-ce que j'ai un moyen de sélectionner uniquement le s.statut de ringo starr par exemple ? J'imagine que $resultats[2][5] fonctionnerait, mais il me semble que je ne peux pas être certain que les colonnes sortiront dans le bon ordre, tel que le [5] désigne la colonne "s.statut". Je me trompe ?  
Est-ce qu'il n'y a pas un moyen plus sûr, par exemple en utilisant le nom de la colonne ($resultats[2]['statut'] ou $resultats[2]['s.statut']) ? Ou autrement ?  
 
NB : Je demande parce que j'ai testé et je n'y arrive pas, mais ça vient peut être d'une autre partie de mon code, donc je veux savoir si c'est normal que ça ne fonctionne pas (et le problème vient de là), ou si ça devrait fonctionner (et le problème vient d'autre part) :)
 
NB 2 : Sinon, le problème est peut être au niveau de fetchAll() ? Si c'est le cas, quelle autre méthode je dois utiliser ?
 
Merci d'avance.

mood
Publicité
Posté le 25-06-2015 à 10:31:26  profilanswer
 

n°2261592
kokola
Floutch
Posté le 01-07-2015 à 14:56:41  profilanswer
 

Hello !
 

Code :
  1. SELECT d.id,b.firstname,b.lastname,b.statut_id,s.statut_id as status_id_table_s,s.statut // le AS dans ta requete SQL pour renommer la colonne et être sur que c'est celle-la que tu pointes
  2. from ...


 
et  
 

Code :
  1. $foo = $bdd->prepare($rqt); // Tu prépares la requete
  2.     $foo->execute(array()); // Normalement si tu prepares la requete, c'est que tu as des données à mettre en where donc il faut envoyer un tableau
  3.     $resultats = $foo->fetchAll(); // Le fetchAll est bon, mais j'aurais mis un PDO_FETCH_OBJ
  4.     echo $resultats[2]['status_id_table_s']; //1


 
Cela répond à ta question? :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Sélectionner une valeur dans un array multidimensionnel (+SQL & PDO)

 

Sujets relatifs
Accélération d'un ensemble de requêtes via Pdo et préparationRequête SQL pour faire des cumul.
VBA sélectionner contenus de plusieurs fichiers excelparalleliser mes requetes SQL
Liste déroulante récupération valeurConnexion a SQL via Entity Framework
liste de fichiers dans un array trié par date : 3eme fichier non listé[résolu] Modification valeur tableau bidimentionnel
Connexion PDO. construct, ou singleton ?Bouton "enregistrer" qui reporte valeur dans autre feuille
Plus de sujets relatifs à : Sélectionner une valeur dans un array multidimensionnel (+SQL & PDO)


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR