IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Débutant POO: requête preparé


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Janvier 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 132
    Points : 66
    Points
    66
    Par défaut Débutant POO: requête preparé
    Bonjour, je susi début (gros débutant ) en POO et Mysql. J'ai crée une page
    index qui affichera les données provenant de ma BD,
    une class connexion pour me connexter à la BD
    une class manager qui permettra de gérer les manipulation des données (requêtes)
    J'utilise PDO pour la programmation PHP.

    Mon souci c'est comment faire connaître la class connexion au niveau de la class manager de sort à pouvoir écrire une requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = $DB->prepare('SELECT.....)
    Class Connexion

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <?php class dbConnexion {
    	  private $host = 'localhost';
    	  private $username = 'root';
    	  private $password = '';
    	  private $database = 'karamasterdb';
    	  private $db;
     
    	  public function __construct($host = null, $username = null, $password = null, $database = null) {
     
    		  if($host != null) {
    		    $this->host = $host;
    			$this->username = $username;
    			$this->password = $password;
    			$this->database = $database;
    		  }
    		   try {
    		  	$this->db = new PDO('mysql:host='.$this->host.';dbname='.$this->database, $this->username, $this->password, array(
    		  		PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8',
    				PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING));
    		   } catch(PDOException $e){
    			 die('<h1>Impossible de se connecter a la base de donnees</h1>');   
    		   }
    	  }
      }
     
      //Initialisation de la class DB
      $DB = new dbConnexion (); ?>
    Class manager

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?php class manager{
     
    		//Déclaration des variables
    		 public $id;
     
     
    	  //Fonction de traitement des requetes
    	  public function read($fields=null) {
     
    		  $sql = $DB->prepare("SELECT * FROM actualite"); // ici
    		  $sql->execute();
    		  $data= $sql->fetchAll(PDO::FETCH_OBJ);
                       return $data;
     
    	  }
     
      }
     
      //Initialisation de la class DB
      $manager = new manager(); ?>

  2. #2
    Membre éclairé Avatar de tigunn
    Homme Profil pro
    Développeur de bug
    Inscrit en
    Janvier 2003
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de bug

    Informations forums :
    Inscription : Janvier 2003
    Messages : 608
    Points : 658
    Points
    658
    Par défaut
    Salut,
    J'espère que depuis le temps tu as résolu le problème.
    Mais tu devrais te renseigner sur l'héritage.
    et essayer quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    class manager extends connexion{...}
    bonne continuation
    Le monde se divise en deux: ceux qui utilisent le tag et les autres.

  3. #3
    Membre régulier
    Homme Profil pro
    Etudiant CNAM (DIE20)
    Inscrit en
    Janvier 2010
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant CNAM (DIE20)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 151
    Points : 97
    Points
    97
    Par défaut
    Bonjour,

    Tu as aussi le choix de fournir ton objet connexion lors de la construction de ton objet manager.
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql = new dbConnexion(...);
    $manager = new manager($sql);

    Enfin, tu n'es pas obligé de créer 2 classes.
    Une seule classe héritant directement de PDO suffirait (cf héritage comme l'a dit tigunn).

Discussions similaires

  1. Réponses: 33
    Dernier message: 06/06/2006, 14h41
  2. [Débutant / SQL] Requête avec la fonction MAX
    Par bugmenot dans le forum Access
    Réponses: 3
    Dernier message: 14/04/2006, 10h43
  3. [débutant] POO en C++
    Par gene69 dans le forum Langage
    Réponses: 16
    Dernier message: 04/03/2006, 14h17
  4. [Débutant] Conception requêtes SQL
    Par LhIaScZkTer dans le forum Langage SQL
    Réponses: 15
    Dernier message: 10/01/2006, 21h46
  5. [Débutant]Soucis requête jointure externes (8-i)
    Par jdotti dans le forum Oracle
    Réponses: 7
    Dernier message: 14/10/2005, 15h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo