--- /dev/null
+<?php
+
+ require_once('protected/required.php');
+
+ class PdoExploitantManager extends AbstractPdoManager implements ExploitantManager {
+
+ public function createExploitant($exploitant) {
+
+ $query = $this -> pdo -> prepare(
+ 'INSERT INTO exploitants (nom, reference, produits) VALUES (:nom, :reference, :produits)'
+ );
+ $query -> bindValue(':nom', $exploitant -> getNom());
+ $query -> bindValue(':reference', $exploitant -> getReference());
+ $query -> bindValue(':produits', implode($exploitant -> getProduits()));
+ $query -> execute();
+ $query -> closeCursor();
+
+ }
+
+ public function updateExploitant($exploitant) {
+
+ $query = $this -> pdo -> prepare(
+ 'UPDATE exploitants SET nom = :nom, reference = :reference, produits = :produits WHERE id = :id'
+ );
+ $query -> bindValue(':id', $exploitant -> getId());
+ $query -> bindValue(':nom', $exploitant -> getNom());
+ $query -> bindValue(':reference', $exploitant -> getReference());
+ $query -> bindValue(':produits', implode("|", $exploitant -> getProduits()));
+ $query -> execute();
+
+ }
+
+ public function getExploitant($id) {
+
+ $query = $this -> pdo -> prepare('SELECT * FROM exploitants WHERE id = :id');
+ $query -> bindValue(':id', $id);
+ $query -> execute();
+
+ $result = $query -> fetch(PDO::FETCH_ASSOC);
+ $exploitant = new Exploitant($result['id'], $result['nom'], $result['reference'], explode("|", $result['produits']));
+
+ $query->closeCursor();
+
+ return $exploitant;
+ }
+
+ public function getExploitants() {
+
+ $query = $this -> pdo -> prepare('SELECT * FROM exploitants');
+ $query -> execute();
+
+ $results = $query -> fetchAll(PDO::FETCH_ASSOC);
+ $exploitants = array();
+ foreach ($results as $result) {
+ $exploitants[] = new Exploitant($result['id'], $result['nom'], $result['reference'], explode("|", $result['produits']));
+ }
+
+ $query->closeCursor();
+
+ return $exploitants;
+ }
+
+ public function getExploitantByReference($reference) {
+
+ $query = $this -> pdo -> prepare('SELECT * FROM exploitants WHERE reference = :reference');
+ $query -> bindValue(':reference', $reference);
+ $query -> execute();
+
+ $result = $query -> fetch(PDO::FETCH_ASSOC);
+ $exploitant = new Exploitant($result['id'], $result['nom'], $result['reference'], explode("|", $result['produits']));
+
+ $query->closeCursor();
+
+ return $exploitant;
+ }
+
+ public function removeExploitant($exploitant) {
+
+ $query = $this -> pdo -> prepare('DELETE FROM exploitant WHERE id = :id');
+ $query -> bindValue('id', $exploitant -> getId());
+ $query -> execute();
+
+ }
+
+ }
+
+?>