assure/Modele/Localite.php
2025-12-01 19:07:16 +00:00

71 lines
3.3 KiB
PHP

<?php
require_once 'Framework/Modele.php';
class Localite extends Modele {
public function getLocalites($codeLocalite=null,$libelle=null,$ville=null) {
$codeLocalite = contruireParamLike($codeLocalite);
$libelle = contruireParamLike($libelle);
$ville = contruireParamLike($ville);
$sql = 'SELECT A.id, A.codeSociete, A.codeLocalite, A.libelle, A.codePays, A.codeVille,
B.libelle as pays, C.libelle as libelleVille
FROM localite A left join pays B on (B.codeSociete=A.codeSociete AND B.codePays=A.codePays)
left join ville C on (C.codeSociete=A.codeSociete AND C.codeVille=A.codeVille)
WHERE (A.codeSociete=? AND A.codeLocalite LIKE ? AND A.libelle LIKE ? AND C.libelle LIKE ?) order by A.libelle';
$localite = $this->executerRequete($sql, array($_SESSION['codeSociete'],$codeLocalite,$libelle,$ville));
return $localite;
}
public function getLocalite($id) {
$sql = 'SELECT A.id, A.codeSociete, A.codeLocalite, A.libelle, A.codePays, A.codeVille,
B.libelle as pays, C.libelle as libelleVille
FROM localite A left join pays B on (B.codeSociete=A.codeSociete AND B.codePays=A.codePays)
left join ville C on (C.codeSociete=A.codeSociete AND C.codeVille=A.codeVille)
WHERE (A.codeSociete=?) AND (A.id=?)';
$localite = $this->executerRequete($sql, array($_SESSION['codeSociete'], $id));
if ($localite->rowCount() > 0)
return $localite->fetch();
else
throw new Exception("Aucune localité ne correspond à cet id : '$id'");
}
public function getNombreLocalite()
{
$sql = 'select count(*) as nbLocalite FROM localite A WHERE (A.codeSociete=?)';
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete']));
$ligne = $resultat->fetch();
return $ligne['nbLocalite'];
}
public function ajouter($codeSociete, $codeLocalite, $libelle, $codePays, $codeVille) {
$sql = 'INSERT INTO localite (codeSociete, codeLocalite, libelle, codePays, codeVille) VALUES (?, ?, ?, ?, ?)';
$this->executerRequete($sql, array($codeSociete, $codeLocalite, $libelle, $codePays, $codeVille));
}
public function modifier($id, $codeLocalite, $libelle, $codePays, $codeVille) {
$sql = 'UPDATE localite SET codeLocalite=?, libelle=?, codePays=?, codeVille=? where (id=?)';
$this->executerRequete($sql, array($codeLocalite, $libelle, $codePays, $codeVille, $id));
}
public function supprimer($id) {
$sql = 'DELETE FROM localite WHERE (id=?)';
$this->executerRequete($sql, array($id));
}
public function existeligne($codeLocalite) {
$sql = 'select id FROM localite WHERE (codeSociete=?) and (codeLocalite=?)';
$resultat = $this->executerRequete($sql, array($_SESSION['codeSociete'],$codeLocalite));
return ($resultat->rowCount() > 0);
}
public function getListe($codePays=null, $codeVille=null) {
$codePays = contruireParam($codePays);
$codeVille = contruireParam($codeVille);
$sql = 'SELECT codeLocalite as code, libelle FROM localite
WHERE (codeSociete=? AND codePays=? AND codeVille=?) order by libelle';
$liste = $this->executerRequete($sql, array($_SESSION['codeSociete'], $codePays, $codeVille));
return $liste->fetchAll(PDO::FETCH_ASSOC);
}
}