1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| /**
* Modifie les quantités des éléments forfaitisés d'une fiche de frais.
* Met à jour les éléments forfaitisés contenus
* dans $desEltsForfaits pour le visiteur $unIdVisiteur et
* le mois $unMois dans la table LigneFraisForfait, après avoir filtré
* (annulé l'effet de certains caractères considérés comme spéciaux par
* MySql) chaque donnée
* si il n'y a pas de donnée, les rajoutes...
* @param resource $idCnx identifiant de connexion
* @param string $unMois mois demandé (MMAAAA)
* @param string $unIdVisiteur id visiteur
* @param array $desEltsForfait tableau des quantités des éléments hors forfait
* avec pour clés les identifiants des frais forfaitisés
* @return void
*/
function modifierEltsForfait($idCnx, $unMois, $unIdVisiteur, $desEltsForfait/*=array("ETP","KM","NUI","REP")*/) {
$unMois=filtrerChainePourBD($unMois);
$unIdVisiteur=filtrerChainePourBD($unIdVisiteur);
var_dump($desEltsForfait);
$test=$idCnx->query("SELECT idFraisForfait,quantite from LigneFraisForfait where mois='".$unMois."' and idVisiteur='" .$unIdVisiteur."'");
$test2=$test->fetch();
var_dump($test2);
if (!$test2) {
$requeteNouvelleLigne=$idCnx->prepare("INSERT INTO LigneFraisForfait (idFraisForfait,mois,idVisiteur,quantite) VALUES (:idFraisForfait,:mois,:idVisiteur,:quantite");
foreach ($desEltsForfait as $idFraisForfait => $quantite) {
$NouvelleLigne=$requeteNouvelleLigne->execute(array(
'idFraisForfait'=>$idFraisForfait, // mot réservé quelque part dans la requete ou erreur de syntaxe !!! en recherche...
'mois'=>$unMois,
'idVisiteur'=>$unIdVisiteur,
'quantite'=>$quantite));
}
//( ! ) PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 Erreur de syntaxe près de '' à la ligne 1 in C:\wamp64\www\GSB_Appli\appliFrais\include\_bdGestionDonnees.lib.php on line 313
} else {
foreach ($desEltsForfait as $idFraisForfait => $quantite) {
$requete=$idCnx->prepare("UPDATE LigneFraisForfait SET quantite = :quantite where idVisiteur = :idVisiteur and mois = :mois and idFraisForfait=:idFraisForfait");
$requete->execute(array('quantite'=> $quantite,'idVisiteur'=>$unIdVisiteur,'mois'=>$unMois,'idFraisForfait'=>$idFraisForfait));
}
}
} |
Partager