|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 24 ![]() |
Bonjour,
J'ai une petite question d'organisation. J'ai 2 tables : Utilisateur(idUtilisateur, xpUtilisateur, statutUtilisateur, idNiveau#) Niveau(idNIveau, libNiveau, palierNiveau, gradeNiveau, forceNiveau) Un utilisateur à un Niveau. J'ai donc une classe Utilisateur et Niveau. Code :
Au niveau du $this->niveau = $niveau, est-ce correct ? Vu que c'est un lien sachant retourner le niveau de l'Utilisateur. Comment retourner le bon idNiveau ? Comment construire l'objet à partir d'une base de donnée? |
||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() ![]() |
Bonjour,
Tu peux expliquer un peu plus ta notion de lien sachant retourner un niveau, stp.
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 24 ![]() |
Disons que j'arrive pas à créer mes objet depuis la bdd
|
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() |
Ok, postes ton code d'extraction de données pour ta classe Utilisateur
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() ![]() |
Bon ça semble bloqué.
Tu utilises PDO ou mysql_ ?
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
|
00
|
|
|
#6 | ||
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 24 ![]() |
Je souhaite utiliser PDO.
Pour l'instant j'ai le fichier que je vous ai déjà mis. Et config_sql.php ou j'ai : Code :
|
||
|
|
00
|
|
|
#7 |
|
Expert Confirmé
![]() ![]() |
Quand tu dis que tu bloques : ça veut dire que tu ne sais pas comment faire un SELECT et rappatrier le résultat ou tu ne sais pas comment instancier des classes directement avec PDO ?
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 24 ![]() |
Voila je n'arrive pas a faire ces choses.
Je connais le sql et le php mais j'ai des difficultes avec la poo/bdd |
|
|
00
|
|
|
#9 |
|
Expert Confirmé
![]() ![]() |
Il y a plein de manières différentes pour attaquer la base : soit tu regroupes tes ressources DB au même endroit, soit tu les écris à la volée dans tes scripts, soit tu utilise un ORM, bref l'embarras du choix...
Dans tous les cas, il va falloir te créer un Singleton de la connexion à la base de données, sinon, tu vas en ouvrir à coup sûr une nouvelle à chaque appel d'une ressource DB. A savoir que les contraintes en matières de sécurité diffèrent en fonction du choix. Je t'invite d'abord à lire un peu sur PDO et ensuite sur la POO En t'inspirant des exemples tu devrais t'en sortir par analogie Bon courage
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
|
10
|
|
|
#10 |
|
Membre éclairé
![]() Inscription : juin 2007 Messages : 337 ![]() |
tiens, question qui n'a pas avoir avec le sujet, mais qui concerne PDO
L'API supporte les commandes préparées côté client! Des infos la dessus ?
__________________
Conception / Dev |
|
|
00
|
|
|
#11 | ||||||
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 24 ![]() |
Je te remercie pour tes réponses ça m'aide bien
Bien j'avance un peu, je pense avoir réussis à faire ma connection PDO en Singleton. Cependant j'ai des erreurs quand j'utilises certaines méthodes de PDO: PDOconnect.php Code :
Code :
Code :
Cela me retourne cet erreur : Code :
Fatal error: Call to undefined method PDO::execute() in C:\wamp\www\feedgamer\class\Utilisateur.class.php on line 77 Voilà j'ai besoin d'aide... |
||||||
|
|
00
|
|
|
#12 | ||
|
Expert Confirmé
![]() ![]() |
C'est pas mal du tout,
j'ai repris ta classe Utilisateur : Code :
Tu es bien sûr que ta table Utilisateurs contient un champ intitulé gradeUtilisateur ?
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
||
|
10
|
|
|
#13 | |||
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 24 ![]() |
Merci pour ta réponse rapide
, j'ai remplacé ce que tu as modifié.Citation:
Code :
Code :
Fatal error: Call to undefined method PDO::execute() in C:\wamp\www\feedgamer\class\Utilisateur.class.php on line 76 Je vois pas le problème.
|
|||
|
|
00
|
|
|
#14 | ||
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 24 ![]() |
Ah j'ai trouvé :
Code :
Maintenant, pour mes fonctions, quelle est la meilleur façon de retourner les résultats, par exemple pour readUtilisateurs, qui me retourne toute la table? |
||
|
|
00
|
|
|
#15 | ||
|
Expert Confirmé
![]() ![]() |
Tu retourneras dans tous les cas un tableau : soit un tableau de tableaux soit un tableau d'objets :
Code :
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
||
|
10
|
|
|
#16 | ||
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 24 ![]() |
Comme ceci ?
Code :
Code :
Array ( [0] => stdClass Object ( [idUtilisateur] => 1 [xpUtilisateur] => 32 [statutUtilisateur] => [idNiveau] => 1 ) [1] => stdClass Object ( [idUtilisateur] => 2 [xpUtilisateur] => 60 [statutUtilisateur] => lol [idNiveau] => 2 ) [2] => stdClass Object ( [idUtilisateur] => 3 [xpUtilisateur] => 20 [statutUtilisateur] => troll [idNiveau] => 2 ) ) |
||
|
|
00
|
|
|
#17 |
|
Expert Confirmé
![]() ![]() |
Oui PDO::FETCH_OBJ te renvoie une classe standard.
PDO::FETCH_CLASS te renvoie l'instance d'une classe particulière. Il faut juste bien comprendre le mécanisme utilisé par PDO pour définir les propriétés d'une classe spécifique : un peu de lecture ici. (Les commentaires sont très utiles)
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
|
10
|
|
|
#18 |
|
Invité de passage
![]() Inscription : janvier 2011 Messages : 24 ![]() |
C'est avec ça que je remplis mes privates, les getters et les setters ?
|
|
|
00
|
|
|
#19 | ||
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 999 ![]() |
Cette classe devrait pouvoir t'aider: https://github.com/bdelespierre/php-...ject.class.php
Tu as également besoin de celles-là pour que ça fonctionne: - https://github.com/bdelespierre/php-...base.class.php - https://github.com/bdelespierre/php-...odel.class.php - https://github.com/bdelespierre/php-...ator.class.php Usage: Code :
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
||
|
00
|
|
|
#20 |
|
Expert Confirmé
![]() ![]() |
C'est pas toi qui va les remplir, mais PDO avec un mécanisme spécifique. Lis bien le lien que je t'ai donné, il aborde la problématique de la présence d'un constructeur.
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
|
00
|
Copyright © 2000-2012 - www.developpez.com