begin process at 2012 05 29 02:01:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

POO

 > 

Classes & Objets

 > 

connexion PDO


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

connexion PDO

jeudi 29 décembre 2011 à 03:03:32 | connexion PDO

vargas

Bonjour

je voudrais créer une classe connexion à ma bd MySql et une autre classe qui vas contenir toutes mes requêtes.
Pour le le moment j'ai ça :

Code PHP :
try {
  $dns = 'mysql:host=localhost;dbname=**';
  $utilisateur = 'root';
  $motDePasse = '';
 
  // Options de connection
  $options = array(
    PDO::MYSQL_ATTR_INIT_COMMAND    => "SET NAMES utf8"
  );
 
  // Initialisation de la connection
  $db = new PDO( $dns, $utilisateur, $motDePasse, $options );
} catch ( Exception $e ) {
  echo "Connection à MySQL impossible : ", $e->getMessage();
  die();
}


//classe Requête

Code PHP :
class requetes 
{

 function selectUnProjet($id)
 {
    echo $id;
    $resultats= $db->query("SELECT * FROM projets WHERE No=".$id); 
    $resultats->setFetchMode(PDO::FETCH_OBJ);
    while($ligne = $resultats->fetch()) 
    {
      echo "allo".  $return = $this->cleanRow($ligne);
    }
    
     $result->free();
     echo $return;
     return $return;
 }
    
}


//index

Code PHP :
$req = new requetes();
$section = $req->selectUnProjet($_GET['noProjet']);


il n' y a rien qui fonction, je suis pas mal perdu, j'aurais vraiment besoin d'un coup main

merci


jeudi 29 décembre 2011 à 10:57:07 | Re : connexion PDO

cod57


bonjour

Code PHP :
class requetes  extends PDO{
public function __construct($dsn,$username=null,$password=null,               $driver_options=null){
      parent::__construct($dsn, $username, $password, $driver);
   }
...   


$options = array(
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"
);
req = new requetes('localhost','root','','$options');
$section = $req->selectUnProjet($_GET['noProjet']);
Bonne programmation !
jeudi 29 décembre 2011 à 11:00:26 | Re : connexion PDO

cod57


il faut aussi vérifier que PDO est activé

dans php

extensions-> pdo_php

Bonne programmation !
jeudi 29 décembre 2011 à 11:27:41 | Re : connexion PDO

cod57

Code PHP :
<?php
class requetes extends PDO {

    public function __construct($dsn,$username=null,$password,$options=null){
          parent::__construct($dsn,$username,$password,$options);
    }
    
    public function selectUnProjet($id){
        echo $id;
        
        /*
        $resultats= $db->query("SELECT * FROM  WHERE No=".$id); 
        $resultats->setFetchMode(PDO::FETCH_OBJ);
        while($ligne = $resultats->fetch()) 
        {
          echo "allo".  $return = $this->cleanRow($ligne);
        }
        
         $result->free();
         echo $return;
         return $return;
         */
    }   

}

$options = array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"); 
$req = new requetes('mysql:host=localhost;dbname=test','root','',$options); 
$section = $req->selectUnProjet($_GET['noProjet']=5551); 
?>


une autre solution
Tapez le texte de l'url ici.



Bonne programmation !
jeudi 29 décembre 2011 à 14:36:01 | Re : connexion PDO

vargas

Bonjour

Merci cod57 pour ton aide !! je vais essayer ça et je vous donne des nouvelles
jeudi 29 décembre 2011 à 15:41:00 | Re : connexion PDO

cod57

Réponse acceptée !
j'ai testé ainsi sur une base

Code PHP :
<?php
class requetes extends PDO{
        
    private $dbh;
    
    public function __construct($dsn,$username=null,$password,$options=null){
          
          $this->dbh = parent::__construct($dsn,$username,$password,$options);
    }
    
    public function selectUnProjet($id){
        
        //echo $id;
        $sql = "SELECT * FROM eleve WHERE ideleve='".$id."'";
        try {
        $stmt = $this->query($sql);
        $result = $stmt->setFetchMode(PDO::FETCH_NUM);
        while ($row = $stmt->fetch()) {
        print $row[0] . "\t" . $row[1] . "\t" . $row[2] . "\n";
        }
        }
        catch (PDOException $e) {
        print $e->getMessage();
        }
               
        
        /*
        
        $resultats = $this->query("SELECT * FROM eleve WHERE id='".$id."'"); 
        $this->$resultats->setFetchMode(PDO::FETCH_OBJ);
        
        while($ligne = $resultats->fetch()) 
        {
          echo "allo".  $return = $this->cleanRow($ligne);
        }
        
        $result->free();
        //echo $return;
        return $return;
        
        */
         
    }   

}

$options = array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"); 
$req = new requetes('mysql:host=localhost;dbname=test','root','',$options); 
$section = $req->selectUnProjet($_GET['noProjet']=1); 
?>


Bonne programmation !
jeudi 29 décembre 2011 à 15:54:27 | Re : connexion PDO

vargas

Re-bonjour

Cette fois je vais mieux m'expliquer. Pour mon projet j'ai connexionBD.php dans lequel veux créer une connexion évidement à ma bd en objet. Ensuite j'ai gestion.php qui contienne une classe requêtes dans laquelle on trouve différentes fonctions qui exécutent des requêtes dans ma bd.
Et finalement j'ai mon index dans lequel j'ai veux faire appel a mes fonction des ma classe comme ça :
Code PHP :
$section = $req->selectUnProjet($_GET['noProjet']);


pour ma classe de connexion j'ai essayer la soulution de cod57 ici mais je ne suis pas sur de comprendre.

Je ne sais pas si c'est possible de faire tout ça. J'ai débute en php si quelqu'un peut m'expliquer comment faire pour réussir à faire executer ma requête dans l'index.

Merci beaucoup

pour ma classe requetes j'ai ça :
Code PHP :
class requetes 
{

 function selectUnProjet($id)
 {
  
    $resultats= $db->query("SELECT * FROM projets WHERE No=".$id); 
    $resultats->setFetchMode(PDO::FETCH_OBJ);
    while($ligne = $resultats->fetch()) 
    {
      $return = $this->cleanRow($ligne);
    }
    
     $result->free();
     echo $return;
     return $return;
 }
    
}


jeudi 29 décembre 2011 à 16:07:35 | Re : connexion PDO

vargas

Merci encore cod57

J'ai essayé ta nouvelle reponse et ça fonctionne. Seulement j'ai voudrais qu'au lieu d'afficher des $row directemet dans la fonction les retournes pour les faire afficher dans index comme ça dans un input:

Code PHP :
value="<?php echo $section['titre']; ?>"
jeudi 29 décembre 2011 à 16:10:45 | Re : connexion PDO

cod57

Réponse acceptée !
dans index.php
attention ma dbname est 'test' à changer ...

Code PHP :
<?php

/*du code ...*/

include(mesclass/classrequete.php);
$options = array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"); 
$req = new requetes('mysql:host=localhost;dbname=test','root','',$options); 
$section = $req->selectUnProjet($_GET['noProjet']=1);
echo '<pre>';
print_r($section);
/*si tu retournes un array avec le return de la methode selectUnProjet */ 
echo '</pre>';

/* ... du code*/
?>





Bonne programmation !
jeudi 29 décembre 2011 à 16:41:30 | Re : connexion PDO

vargas

Voila finalement ma fonction :

Code PHP :
 public function selectUnProjet($id)
    {
        
        $sql = "SELECT * FROM projets WHERE No='".$id."'";
        try 
        {
          $stmt = $this->query($sql);
          while ($row = $stmt->fetch())
          {
            $return = $this->cleanRow($row);
          }
        }
        catch (PDOException $e)
        {
          print $e->getMessage();
        } 
        return $return;
    }   


et dans mon index j'ai fais ça ;
Code PHP :
echo $section['titre']; 


tout fonction maintenant merci cod57


Cette discussion est classée dans : code, mysql, echo, return, pdo


Répondre à ce message

Sujets en rapport avec ce message

probleme avec un tableaux (ou est l'erreur??) [ par h2h ] salut tout le monde, jai un probleme avec ce tableaux.. en fait ce tableaux affiche bien ce ke je veu mai le prob cest kil décale tout d'une ligne ce Warning: 0 is not a MySQL result index [ par Tatouine ] Bonjour, j'ai un probleme avec un de mes scripts ... don le code est : $per = array ("printemps", "ete", "hiver"); $i=0; while($i { echo "&l indentification et connexion grâce à un formulaire [ par auremy ] Bonjour,J'ai crée un formulaire html qui permet à l'utilisateur de saisir son login et son mot de passe. La validation envoye ses informations à une p Besoin d'aide pr afficher dernière valeur d'1 enregistrement [ par chardene_amour_de_freddy ] Bonjour à tous ! J'explique mon pb, je souhaiterais récupérer la valeur du dernier enregistrement d'une requete. En fait j'ai un formulaire dans leque changement dynamique liste déroulante [ par gasougasou ] Bonjour, j'ai créé 1 base de données sur MYSQL comportant les 2 tables suivantes :   code  &n liste deroulante dynamique [ par gasougasou ] Bonjour, j'ai créé 1 base de données sur MYSQL comportant les 2 tables suivantes :   code  < Es ce que mon code est propre [ par sense ] Je code un formulaire pour faire un trie dans ma requete, mais ce que j'ai fais fonctionne mais je pense que j'en fais trop :/ quelqu'un peu me consei pb de passage de paramètres [ par sandro38000 ] Bonjour à tous et a toutes,je débute à programmer en php et j'ai rencontrer un problème lors du passage de paramètre d'une page à une autre.Je m'expli [PHP & SQL] Création de compte (Ajout d'un champ) [ par Zobaree ] Salut à tous...J'ai fait un site simple où les gens peuvent se créer un compte, cependant j'ai ajouté une nouvelle colonne dans la table des comptes d Besoin d'aide urgent [ par Masterchiefer ] Bonjour, alors j'aurais une petite question.Je suis en BTS informatique de gestion spécialité développeur et dans le cadre de mon stage je dois réalis


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,905 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales