|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre habitué
![]() Étudiant Inscription : avril 2006 Messages : 266 ![]() |
Bonjour à tous.
Je vais essayer de vous exposer clairement mon problème. Je pense que je suis en train de faire une bourde monumentale au niveau de ma méthode d'approche c'est pourquoi je me tourne vers vous. J'ai donc une table dans ma base de données qui contient des ustensiles (pour ne pas dire objets et s'embrouiller). J'ai une classe PHP dédiée à la gestion de ces ustensiles. J'aimerais pouvoir charger en temps qu'attributs d'une instance de cette classe les champs de cette table (grosso modo j'ai besoin de tous les champs sauf l'id que j'utilise pour retrouver le bon enregistrement). J'utilise PDO pour accéder à ma base de donnée. J'ai donc pensé à une méthode "quick & dirty" à savoir une connexion à la base, un fetchAll() sur le champ et ensuite à la mano je fais: Code :
Pourriez-vous m'expliquer ou au moins m'orienter vers une méthode plus propre et plus appropriée (soit pour passer en attribut, soit pour gérer mes objets) ? Je suis un peu dans une impasse. En vous remerciant.
__________________
Quelques conseils: Utilisez <?php plutôt que <? Utilisez des ' et la concaténation plutôt que " Pensez à revenir à la ligne après chaque ; pour plus de clarté. // Commentez votre code un maximum |
||
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
fait un fetch class ou fetch into
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#3 | ||||||
|
Membre habitué
![]() Étudiant Inscription : avril 2006 Messages : 266 ![]() |
Je viens de me renseigner sur PDO:FETCH_CLASS. Seulement à chaque fois, on parle de remplir les attributs avant de construire l'objet. Or dans mon cas j'aimerais construire l'objet et le remplir qu'à l'appel d'une méthode de cette classe car il est inutile de charger à chaque fois toutes les infos si je ne m'en sert pas. De plus j'ouvre une connexion à la base de donnée dans la classe. Autant s'en servir plutôt que de multiplier les connexions.
Il y a-t-il une autre façon de se servir de cette argument. J'ai essayé comme ceci mais rien n'est chargé: Dans ma classe, $this->connexion refaire comme son nom l'indique au lien avec la BDD initialisé dans le constructeur: Code :
Code :
Le retour de print_r donne: Code :
__________________
Quelques conseils: Utilisez <?php plutôt que <? Utilisez des ' et la concaténation plutôt que " Pensez à revenir à la ligne après chaque ; pour plus de clarté. // Commentez votre code un maximum |
||||||
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
plutot faire :
Code :
$sth->setFetchMode(PDO::FETCH_INTO, $this); par contre je vois pas trop ton SELECT puique y'a plusieurs retour la
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#5 | ||
|
Membre habitué
![]() Étudiant Inscription : avril 2006 Messages : 266 ![]() |
Ok, avec ta méthode cela fonctionne comme je le souhaite. Je me retrouve avec:
Code :
Encore merci.
__________________
Quelques conseils: Utilisez <?php plutôt que <? Utilisez des ' et la concaténation plutôt que " Pensez à revenir à la ligne après chaque ; pour plus de clarté. // Commentez votre code un maximum |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com