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