Précédent   Forum du club des développeurs et IT Pro > PHP > PHP & SGBD > PDO
PDO Forum d'entraide sur PDO (PHP Data Objects) : pilote générique de bases de données avec PHP. Avant de poster -> FAQ PDO et Cours PDO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 15/09/2012, 13h18   #1
zulot
Membre éclairé
 
Inscription : décembre 2004
Messages : 662
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : décembre 2004
Messages : 662
Points : 319
Points : 319
Par défaut fetchAll() avec classe imbriqué

Bonjour,

J'essaye de faire en sorte que ma fetchall() cree automatiquement mes objets.

J'ai un objet carte, un objet edition et l'objet carte contient l'objet edition.

classe edition :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
 
class Edition {
 
	private $code;
	private $nom_fr;
	private $nom_en;
	private $sigle;
 
 
	public function __construct($code, $nom_en){
		$this->code 	  = $code;
		$this->nom_en 	  = $nom_en;
		$this->nom_fr   = NULL;
		$this->sigle = NULL;
	}
 
}
classe carte
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
 
require_once 'src/classe/Edition.class.php';
 
class Carte {
 
	private $id;
	private $name_en;
	private $name_fr;
	private $edition;
 
	public function __construct($id, $name_en, $name_fr, $edition_code, $edition_name){
		$this->id 	  = $id;
		$this->name_en	  = $name_en;
		$this->name_fr   = $name_fr;
		$this->edition = new Edition($edition_code,$edition_name);
	}}
ma page gérant les données

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//Construction de la requete
$strQuery = "SELECT c.id id, c.name_en name_en, c.name_FR name_fr, e.name_en edition_name, e.code edition_code FROM carte c JOIN edition e ON (c.code_edition = e.code) WHERE 1 ";
if (isset($_POST["carte"]))
{
    $strQuery .= " AND c.name_FR LIKE :nameFR ";
}
$query = $db->prepare($strQuery);
if (isset($_POST["carte"]))
{
    $value = $_POST["carte"]."%";
    $query->bindParam(":nameFR", $value, PDO::PARAM_STR);
}
 
$query->execute();
 
$list = $query->fetchAll(PDO::FETCH_CLASS, "Carte", array("id","name_en", "name_fr", "edition_code", "edition_name"));
Et en fait ca fonctionne pas j'ai rien dans ma list d'objet.

Quelqu'un pourrait il m'aider
__________________
Pour me faire grandir
zulot est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 08h14.


 
 
 
 
Partenaires

Hébergement Web