par
cfleurance » 09 févr. 2017, 11:03
Après avoir chercher sur pas mal de forum je ne comprend toujours pas pourquoi j'ai cette erreur, car j'ai l'impression qu'il n'y a pourtant aucun problème dans mon code !
Voici mes fichiers ainsi que l'erreur que j'obtiens:
cSaisieEnCours.php :
Code : Tout sélectionner
<?php
use modele\dao\EnCoursDAO;
use modele\dao\Bdd;
require_once __DIR__ . '/include/autoload.php';
Bdd::connecter();
$repInclude = './include/';
require($repInclude . "_init.inc.php");
// 1ère étape: Affichage de la première semaine.
if (!isset($_REQUEST['action'])) {
$_REQUEST['action'] = 'initial';
}
$action = $_REQUEST['action'];
// Aiguillage selon l'étape
switch ($action) {
case 'initial' :
include("vues/SaisieEnCours/vObtenirEnCours.php");
break;
case 'demanderSupprimerOpe':
$id = $_REQUEST['id'];
include("vues/SaisieEnCours/vSupprimerEnCours.php");
break;
case 'demanderCreerOpe':
include("vues/SaisieEnCours/vCreerModifierEnCours.php");
break;
case 'demanderModifierOpe':
$id = $_REQUEST['id'];
include("vues/SaisieEnCours/vCreerModifierEnCours.php");
break;
case 'validerSupprimerOpe':
$id = $_REQUEST['id'];
EnCoursDAO::delete($id);
include("vues/SaisieEnCours/vObtenirEnCours.php");
break;
case 'validerSupprimerTouteOpe':
$uneOpe = EnCoursDAO::deleteAll();
include("vues/SaisieEnCours/vObtenirEnCours.php");
break;
case 'validerCreerOpe':case 'validerModifierOpe':
$id = $_REQUEST['id'];
$designation = $_REQUEST['designation'];
$prix = $_REQUEST['prix'];
$type = $_REQUEST['type'];
$date = $_REQUEST['date'];
if ($action == 'validerCreerOpe') {
verifierDonneesOpeC($id, $designation, $prix, $type, $date);
if (nbErreurs() == 0) {
$uneOpe = new EnCoursDAO($id, $designation, $prix, $type, $date);
EnCoursDAO::insert($uneOpe);
include("vues/SaisieEnCours/vObtenirEnCours.php");
} else {
include("vues/SaisieEnCours/vCreerModifierEnCours.php");
}
} else {
verifierDonneesOpeM($id, $designation, $prix, $type, $date);
if (nbErreurs() == 0) {
$uneOpe = new EnCoursDAO($id, $designation, $prix, $type, $date);
EnCoursDAO::update($id, $uneOpe);
include("vues/SaisieEnCours/vObtenirEnCours.php");
} else {
include("vues/SaisieEnCours/vCreerModifierEnCours.php");
}
}
break;
}
// Fermeture de la connexion au serveur MySql
Bdd::deconnecter();
function verifierDonneesOpeC($id, $designation, $prix, $type, $date) {
if ($id == "" || $designation == "" || $prix == "" || $type == "" || $date == "") {
ajouterErreur('Chaque champ suivi du caractère * est obligatoire');
}
if ($id != "") {
// Si l'id est constitué d'autres caractères que de lettres non accentuées
// et de chiffres, une erreur est générée
if (!estChiffresOuEtLettres($id)) {
ajouterErreur
("L'identifiant doit comporter uniquement des lettres non accentuées et des chiffres");
} else {
if (EnCoursDAO::isAnExistingId($id)) {
ajouterErreur("La/Le $type $id existe déjà");
}
}
}
}
function verifierDonneesOpeM($id, $designation, $prix, $type, $date) {
if ($id == "" || $designation == "" || $prix == "" || $type == "" || $date == "") {
ajouterErreur('Chaque champ suivi du caractère * est obligatoire');
}
}
vCreerModifierEnCours.php :
Code : Tout sélectionner
<?php
// page inaccessible si visiteur non connecté
if (!estVisiteurConnecte()) {
header("Location: cSeConnecter.php");
}
require($repInclude . "_entete.inc.html");
require($repInclude . "_sommaire.inc.php");
//Division principale
echo '<div id="contenu">';
echo "<h2><center>Ajouter un(e) vente / dépannage</center></h2>";
use modele\dao\EnCoursDAO;
use modele\metier\EnCours;
use modele\dao\Bdd;
require_once __DIR__ . '/../../include/autoload.php';
Bdd::connecter();
setlocale(LC_TIME, 'fr_FR.utf8', 'fra');
// CRÉER OU MODIFIER UNE VENTE OU UN DEPANNAGE
// S'il s'agit d'une création et qu'on ne "vient" pas de ce formulaire (on
// "vient" de ce formulaire uniquement s'il y avait une erreur), il faut définir
// les champs à vide sinon on affichera les valeurs précédemment saisies
if ($action == 'demanderCreerOpe') {
$id = '';
$designation = '';
$type = 1;
$prix = '';
$date = '. strftime("%B %Y") . ';
}
// S'il s'agit d'une modification et qu'on ne "vient" pas de ce formulaire, il
// faut récupérer les données sinon on affichera les valeurs précédemment
// saisies
if ($action == 'demanderModifierOpe') {
$uneOpe = EnCoursDAO::getOneById($id);
/* @var $uneOpe EnCours */
$designation = $uneOpe->getDesignation();
$type = $uneOpe->getType();
$prix = $uneOpe->getPrix();
$date = $uneOpe->getDate();
}
// Initialisations en fonction du mode (création ou modification)
if ($action == 'demanderCreerOpe' || $action == 'validerCreerOpe') {
$creation = true;
$messageOpe = "Nouvelle vente ou nouveau dépannage"; // Alimentation du message de l'en-tête
$action = "validerCreerOpe";
} else {
$creation = false;
$messageOpe = "$designation"; // Alimentation du message de l'en-tête
$action = "validerModifierOpe";
}
// Déclaration du tableau des types
echo "
<form method='POST' action='cSaisieEnCours.php?'>
<input type='hidden' value='$action' name='action'>
<br>
<table width='65%' cellspacing='0' cellpadding='0' class='tabNonQuadrille'>
<tr class='enTeteTabNonQuad'>
<td colspan='3'><strong><center>$messageOpe</center></strong></td>
</tr>";
// En cas de création, l'id est accessible sinon l'id est dans un champ
// caché
if ($creation) {
// On utilise les guillemets comme délimiteur de champ dans l'echo afin
// de ne pas perdre les éventuelles quotes saisies (même si les quotes
// ne sont pas acceptées dans l'id, on a le souci de ré-afficher l'id
// tel qu'il a été saisi)
echo '
<tr class="ligneTabNonQuad">
<td>  Id: </td>
<td><input type="text" value="' . $id . '" name="id" size ="30"
maxlength="8"></td>
</tr>';
} else {
echo "
<tr>
<td><input type='hidden' value='$id' name='id'></td><td></td>
</tr>";
}
echo '
<tr class="ligneTabNonQuad">
<td>  Designation: </td>
<td><input type="text" value="' . $designation . '" name="designation" size="30"
maxlength="32"></td>
</tr>
<input type="hidden" value="' . $date . '" name="date">
</tr>
<tr class="ligneTabNonQuad">
<td>  Type: </td>
<td>';
if ($type == 1) {
echo "
<input type='radio' name='type' value='Dépannage' checked>
Dépannage
<input type='radio' name='type' value='Vente'> Vente";
} else {
echo "
<input type='radio' name='type' value='Dépannage'>
Dépannage
<input type='radio' name='type' value='Vente' checked> Vente";
}
echo '
<tr class="ligneTabNonQuad">
<td>  Valeur: </td>
<td><input type="text" value="' . $prix . '" name="prix" size="30"
maxlength="8"></td>
</tr>';
echo '</div>';
echo "<br>
<table align='right' cellspacing='15' cellpadding='0'>
<br>
<a href='cSaisieEnCours.php'><button type=button>Retour</button></a>
<tr>
<td align='right'><input type='submit' value='Valider' name='valider'>
</tr>
</table>
</form>";
include("include/_fin.inc.php");
EnCours.class.php :
Code : Tout sélectionner
<?php
namespace modele\metier;
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
* Description of EnCours
*
* @author btssio
*/
class EnCours {
private $id;
private $designation;
private $prix;
private $type;
private $date;
function __construct($id, $designation, $prix, $type, $date) {
$this->id = $id;
$this->designation = $designation;
$this->prix = $prix;
$this->type = $type;
$this->date = $date;
}
function getId() {
return $this->id;
}
function getDesignation() {
return $this->designation;
}
function getPrix() {
return $this->prix;
}
function getType() {
return $this->type;
}
function getDate() {
return $this->date;
}
function setId($id) {
$this->id = $id;
}
function setDesignation($designation) {
$this->designation = $designation;
}
function setPrix($prix) {
$this->prix = $prix;
}
function setType($type) {
$this->type = $type;
}
function setDate($date) {
$this->date = $date;
}
}
EnCoursDAO.class.php:
Code : Tout sélectionner
<?php
namespace modele\dao;
use modele\metier\EnCours;
use PDO;
/**
* Description of SyntheseDAO
* Classe métier : Synthese
* @author Charly
*/
class EnCoursDAO implements IDAO {
protected static function enregVersMetier($enreg) {
$id = $enreg['ID'];
$designation = $enreg[strtoupper('designation')];
$prix = $enreg[strtoupper('prix')];
$type = $enreg[strtoupper('type')];
$date = $enreg[strtoupper('date')];
$uneOpe = new EnCours($id, $designation, $prix, $type, $date);
return $uneOpe;
}
/* Valorise les paramètre d'une requête préparée avec l'état d'un objet Synthese */
protected static function metierVersEnreg($objetMetier, $stmt) {
// On utilise bindValue plutôt que bindParam pour éviter des variables intermédiaires
$stmt->bindValue(':id', $objetMetier->getId());
$stmt->bindValue(':designation', $objetMetier->getDesignation());
$stmt->bindValue(':prix', $objetMetier->getPrix());
$stmt->bindValue(':type', $objetMetier->getType());
$stmt->bindValue(':date', $objetMetier->getDate());
}
/* Insérer un nouvel enregistrement dans la table à partir de l'état d'un objet métier */
public static function insert($objet) {
$requete = "INSERT INTO Operations VALUES (:id, :designation, :prix, :type, :date)";
$stmt = Bdd::getPdo()->prepare($requete);
self::metierVersEnreg($objet, $stmt);
$ok = $stmt->execute();
return ($ok && $stmt->rowCount() > 0);
}
/**
* Mettre à jour enregistrement dans la table à partir de l'état d'un objet métier */
public static function update($id, $objet) {
$ok = false;
$requete = "UPDATE Operations SET DESIGNATION=:designation, PRIX=:prix,
TYPE=:type, DATE=:date WHERE ID=:id";
$stmt = Bdd::getPdo()->prepare($requete);
self::metierVersEnreg($objet, $stmt);
$stmt->bindParam(':id', $id);
$ok = $stmt->execute();
return ($ok && $stmt->rowCount() > 0);
}
public static function delete($id) {
$ok = false;
$requete = "DELETE FROM Operations WHERE ID = :id";
$stmt = Bdd::getPdo()->prepare($requete);
$stmt->bindParam(':id', $id);
$ok = $stmt->execute();
$ok = $ok && ($stmt->rowCount() > 0);
return $ok;
}
public static function getAll() {
$lesObjets = array();
$requete = "SELECT * FROM Operations";
$stmt = Bdd::getPdo()->prepare($requete);
$ok = $stmt->execute();
if ($ok) {
while ($enreg = $stmt->fetch(PDO::FETCH_ASSOC)) {
$lesObjets[] = self::enregVersMetier($enreg);
}
}
return $lesObjets;
}
public static function getOneById($id) {
$objetConstruit = null;
$requete = "SELECT * FROM Operations WHERE ID = :id";
$stmt = Bdd::getPdo()->prepare($requete);
$stmt->bindParam(':id', $id);
$ok = $stmt->execute();
// attention, $ok = true pour un select ne retournant aucune ligne
if ($ok && $stmt->rowCount() > 0) {
$objetConstruit = self::enregVersMetier($stmt->fetch(PDO::FETCH_ASSOC));
}
return $objetConstruit;
}
/**
* Permet de vérifier s'il existe ou non une Synthese ayant déjà le même identifiant dans la BD
* @param string id identifiant de la Synthese à tester
* @return boolean =true si l'id existe déjà, =false sinon
*/
public static function isAnExistingId($id) {
$requete = "SELECT COUNT(*) FROM Operations WHERE ID=:id";
$stmt = Bdd::getPdo()->prepare($requete);
$stmt->bindParam(':id', $id);
$stmt->execute();
return $stmt->fetchColumn(0);
}
public static function superSum() {
$requete = "SELECT SUM(prix) FROM `Operations`";
$stmt = Bdd::getPdo()->prepare($requete);
$ok = $stmt->execute();
return $stmt->fetchColumn(0);
}
}
En esperant que vous puissiez m'apporter de l'aide car ça fait vraiment 2 jours que je bloque sur ce problème !
Merci
Après avoir chercher sur pas mal de forum je ne comprend toujours pas pourquoi j'ai cette erreur, car j'ai l'impression qu'il n'y a pourtant aucun problème dans mon code !
Voici mes fichiers ainsi que l'erreur que j'obtiens:
cSaisieEnCours.php :
[code]<?php
use modele\dao\EnCoursDAO;
use modele\dao\Bdd;
require_once __DIR__ . '/include/autoload.php';
Bdd::connecter();
$repInclude = './include/';
require($repInclude . "_init.inc.php");
// 1ère étape: Affichage de la première semaine.
if (!isset($_REQUEST['action'])) {
$_REQUEST['action'] = 'initial';
}
$action = $_REQUEST['action'];
// Aiguillage selon l'étape
switch ($action) {
case 'initial' :
include("vues/SaisieEnCours/vObtenirEnCours.php");
break;
case 'demanderSupprimerOpe':
$id = $_REQUEST['id'];
include("vues/SaisieEnCours/vSupprimerEnCours.php");
break;
case 'demanderCreerOpe':
include("vues/SaisieEnCours/vCreerModifierEnCours.php");
break;
case 'demanderModifierOpe':
$id = $_REQUEST['id'];
include("vues/SaisieEnCours/vCreerModifierEnCours.php");
break;
case 'validerSupprimerOpe':
$id = $_REQUEST['id'];
EnCoursDAO::delete($id);
include("vues/SaisieEnCours/vObtenirEnCours.php");
break;
case 'validerSupprimerTouteOpe':
$uneOpe = EnCoursDAO::deleteAll();
include("vues/SaisieEnCours/vObtenirEnCours.php");
break;
case 'validerCreerOpe':case 'validerModifierOpe':
$id = $_REQUEST['id'];
$designation = $_REQUEST['designation'];
$prix = $_REQUEST['prix'];
$type = $_REQUEST['type'];
$date = $_REQUEST['date'];
if ($action == 'validerCreerOpe') {
verifierDonneesOpeC($id, $designation, $prix, $type, $date);
if (nbErreurs() == 0) {
$uneOpe = new EnCoursDAO($id, $designation, $prix, $type, $date);
EnCoursDAO::insert($uneOpe);
include("vues/SaisieEnCours/vObtenirEnCours.php");
} else {
include("vues/SaisieEnCours/vCreerModifierEnCours.php");
}
} else {
verifierDonneesOpeM($id, $designation, $prix, $type, $date);
if (nbErreurs() == 0) {
$uneOpe = new EnCoursDAO($id, $designation, $prix, $type, $date);
EnCoursDAO::update($id, $uneOpe);
include("vues/SaisieEnCours/vObtenirEnCours.php");
} else {
include("vues/SaisieEnCours/vCreerModifierEnCours.php");
}
}
break;
}
// Fermeture de la connexion au serveur MySql
Bdd::deconnecter();
function verifierDonneesOpeC($id, $designation, $prix, $type, $date) {
if ($id == "" || $designation == "" || $prix == "" || $type == "" || $date == "") {
ajouterErreur('Chaque champ suivi du caractère * est obligatoire');
}
if ($id != "") {
// Si l'id est constitué d'autres caractères que de lettres non accentuées
// et de chiffres, une erreur est générée
if (!estChiffresOuEtLettres($id)) {
ajouterErreur
("L'identifiant doit comporter uniquement des lettres non accentuées et des chiffres");
} else {
if (EnCoursDAO::isAnExistingId($id)) {
ajouterErreur("La/Le $type $id existe déjà");
}
}
}
}
function verifierDonneesOpeM($id, $designation, $prix, $type, $date) {
if ($id == "" || $designation == "" || $prix == "" || $type == "" || $date == "") {
ajouterErreur('Chaque champ suivi du caractère * est obligatoire');
}
}
[/code]
vCreerModifierEnCours.php :
[code]<?php
// page inaccessible si visiteur non connecté
if (!estVisiteurConnecte()) {
header("Location: cSeConnecter.php");
}
require($repInclude . "_entete.inc.html");
require($repInclude . "_sommaire.inc.php");
//Division principale
echo '<div id="contenu">';
echo "<h2><center>Ajouter un(e) vente / dépannage</center></h2>";
use modele\dao\EnCoursDAO;
use modele\metier\EnCours;
use modele\dao\Bdd;
require_once __DIR__ . '/../../include/autoload.php';
Bdd::connecter();
setlocale(LC_TIME, 'fr_FR.utf8', 'fra');
// CRÉER OU MODIFIER UNE VENTE OU UN DEPANNAGE
// S'il s'agit d'une création et qu'on ne "vient" pas de ce formulaire (on
// "vient" de ce formulaire uniquement s'il y avait une erreur), il faut définir
// les champs à vide sinon on affichera les valeurs précédemment saisies
if ($action == 'demanderCreerOpe') {
$id = '';
$designation = '';
$type = 1;
$prix = '';
$date = '. strftime("%B %Y") . ';
}
// S'il s'agit d'une modification et qu'on ne "vient" pas de ce formulaire, il
// faut récupérer les données sinon on affichera les valeurs précédemment
// saisies
if ($action == 'demanderModifierOpe') {
$uneOpe = EnCoursDAO::getOneById($id);
/* @var $uneOpe EnCours */
$designation = $uneOpe->getDesignation();
$type = $uneOpe->getType();
$prix = $uneOpe->getPrix();
$date = $uneOpe->getDate();
}
// Initialisations en fonction du mode (création ou modification)
if ($action == 'demanderCreerOpe' || $action == 'validerCreerOpe') {
$creation = true;
$messageOpe = "Nouvelle vente ou nouveau dépannage"; // Alimentation du message de l'en-tête
$action = "validerCreerOpe";
} else {
$creation = false;
$messageOpe = "$designation"; // Alimentation du message de l'en-tête
$action = "validerModifierOpe";
}
// Déclaration du tableau des types
echo "
<form method='POST' action='cSaisieEnCours.php?'>
<input type='hidden' value='$action' name='action'>
<br>
<table width='65%' cellspacing='0' cellpadding='0' class='tabNonQuadrille'>
<tr class='enTeteTabNonQuad'>
<td colspan='3'><strong><center>$messageOpe</center></strong></td>
</tr>";
// En cas de création, l'id est accessible sinon l'id est dans un champ
// caché
if ($creation) {
// On utilise les guillemets comme délimiteur de champ dans l'echo afin
// de ne pas perdre les éventuelles quotes saisies (même si les quotes
// ne sont pas acceptées dans l'id, on a le souci de ré-afficher l'id
// tel qu'il a été saisi)
echo '
<tr class="ligneTabNonQuad">
<td>  Id: </td>
<td><input type="text" value="' . $id . '" name="id" size ="30"
maxlength="8"></td>
</tr>';
} else {
echo "
<tr>
<td><input type='hidden' value='$id' name='id'></td><td></td>
</tr>";
}
echo '
<tr class="ligneTabNonQuad">
<td>  Designation: </td>
<td><input type="text" value="' . $designation . '" name="designation" size="30"
maxlength="32"></td>
</tr>
<input type="hidden" value="' . $date . '" name="date">
</tr>
<tr class="ligneTabNonQuad">
<td>  Type: </td>
<td>';
if ($type == 1) {
echo "
<input type='radio' name='type' value='Dépannage' checked>
Dépannage
<input type='radio' name='type' value='Vente'> Vente";
} else {
echo "
<input type='radio' name='type' value='Dépannage'>
Dépannage
<input type='radio' name='type' value='Vente' checked> Vente";
}
echo '
<tr class="ligneTabNonQuad">
<td>  Valeur: </td>
<td><input type="text" value="' . $prix . '" name="prix" size="30"
maxlength="8"></td>
</tr>';
echo '</div>';
echo "<br>
<table align='right' cellspacing='15' cellpadding='0'>
<br>
<a href='cSaisieEnCours.php'><button type=button>Retour</button></a>
<tr>
<td align='right'><input type='submit' value='Valider' name='valider'>
</tr>
</table>
</form>";
include("include/_fin.inc.php");
[/code]
EnCours.class.php :
[code]<?php
namespace modele\metier;
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
* Description of EnCours
*
* @author btssio
*/
class EnCours {
private $id;
private $designation;
private $prix;
private $type;
private $date;
function __construct($id, $designation, $prix, $type, $date) {
$this->id = $id;
$this->designation = $designation;
$this->prix = $prix;
$this->type = $type;
$this->date = $date;
}
function getId() {
return $this->id;
}
function getDesignation() {
return $this->designation;
}
function getPrix() {
return $this->prix;
}
function getType() {
return $this->type;
}
function getDate() {
return $this->date;
}
function setId($id) {
$this->id = $id;
}
function setDesignation($designation) {
$this->designation = $designation;
}
function setPrix($prix) {
$this->prix = $prix;
}
function setType($type) {
$this->type = $type;
}
function setDate($date) {
$this->date = $date;
}
}
[/code]
EnCoursDAO.class.php:
[code]<?php
namespace modele\dao;
use modele\metier\EnCours;
use PDO;
/**
* Description of SyntheseDAO
* Classe métier : Synthese
* @author Charly
*/
class EnCoursDAO implements IDAO {
protected static function enregVersMetier($enreg) {
$id = $enreg['ID'];
$designation = $enreg[strtoupper('designation')];
$prix = $enreg[strtoupper('prix')];
$type = $enreg[strtoupper('type')];
$date = $enreg[strtoupper('date')];
$uneOpe = new EnCours($id, $designation, $prix, $type, $date);
return $uneOpe;
}
/* Valorise les paramètre d'une requête préparée avec l'état d'un objet Synthese */
protected static function metierVersEnreg($objetMetier, $stmt) {
// On utilise bindValue plutôt que bindParam pour éviter des variables intermédiaires
$stmt->bindValue(':id', $objetMetier->getId());
$stmt->bindValue(':designation', $objetMetier->getDesignation());
$stmt->bindValue(':prix', $objetMetier->getPrix());
$stmt->bindValue(':type', $objetMetier->getType());
$stmt->bindValue(':date', $objetMetier->getDate());
}
/* Insérer un nouvel enregistrement dans la table à partir de l'état d'un objet métier */
public static function insert($objet) {
$requete = "INSERT INTO Operations VALUES (:id, :designation, :prix, :type, :date)";
$stmt = Bdd::getPdo()->prepare($requete);
self::metierVersEnreg($objet, $stmt);
$ok = $stmt->execute();
return ($ok && $stmt->rowCount() > 0);
}
/**
* Mettre à jour enregistrement dans la table à partir de l'état d'un objet métier */
public static function update($id, $objet) {
$ok = false;
$requete = "UPDATE Operations SET DESIGNATION=:designation, PRIX=:prix,
TYPE=:type, DATE=:date WHERE ID=:id";
$stmt = Bdd::getPdo()->prepare($requete);
self::metierVersEnreg($objet, $stmt);
$stmt->bindParam(':id', $id);
$ok = $stmt->execute();
return ($ok && $stmt->rowCount() > 0);
}
public static function delete($id) {
$ok = false;
$requete = "DELETE FROM Operations WHERE ID = :id";
$stmt = Bdd::getPdo()->prepare($requete);
$stmt->bindParam(':id', $id);
$ok = $stmt->execute();
$ok = $ok && ($stmt->rowCount() > 0);
return $ok;
}
public static function getAll() {
$lesObjets = array();
$requete = "SELECT * FROM Operations";
$stmt = Bdd::getPdo()->prepare($requete);
$ok = $stmt->execute();
if ($ok) {
while ($enreg = $stmt->fetch(PDO::FETCH_ASSOC)) {
$lesObjets[] = self::enregVersMetier($enreg);
}
}
return $lesObjets;
}
public static function getOneById($id) {
$objetConstruit = null;
$requete = "SELECT * FROM Operations WHERE ID = :id";
$stmt = Bdd::getPdo()->prepare($requete);
$stmt->bindParam(':id', $id);
$ok = $stmt->execute();
// attention, $ok = true pour un select ne retournant aucune ligne
if ($ok && $stmt->rowCount() > 0) {
$objetConstruit = self::enregVersMetier($stmt->fetch(PDO::FETCH_ASSOC));
}
return $objetConstruit;
}
/**
* Permet de vérifier s'il existe ou non une Synthese ayant déjà le même identifiant dans la BD
* @param string id identifiant de la Synthese à tester
* @return boolean =true si l'id existe déjà, =false sinon
*/
public static function isAnExistingId($id) {
$requete = "SELECT COUNT(*) FROM Operations WHERE ID=:id";
$stmt = Bdd::getPdo()->prepare($requete);
$stmt->bindParam(':id', $id);
$stmt->execute();
return $stmt->fetchColumn(0);
}
public static function superSum() {
$requete = "SELECT SUM(prix) FROM `Operations`";
$stmt = Bdd::getPdo()->prepare($requete);
$ok = $stmt->execute();
return $stmt->fetchColumn(0);
}
}
[/code]
[img]http://img11.hostingpics.net/pics/816023Screenshot1.png[/img]
En esperant que vous puissiez m'apporter de l'aide car ça fait vraiment 2 jours que je bloque sur ce problème !
Merci