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