41,69 → 41,77 |
|
$p['type'] = trim($p['type'], "'"); |
switch ($p['type']) { |
case 'identifiant' : |
// Nous avons un identifiant de liste, nous récupérons seulement les valeurs de cette liste |
$requete = (($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' * '. |
'FROM coel_meta_liste_valeur '. |
"WHERE cmlv_id_valeur = {$p['idValeur']} ". |
'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby : 'cmlv_id_valeur ASC').' '; |
$requete_compte = $requete; |
case 'identifiant' : |
// Nous avons un identifiant de liste, nous récupérons seulement les valeurs de cette liste |
$requete = (($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' * '. |
'FROM coel_meta_liste_valeur '. |
"WHERE cmlv_id_valeur = {$p['idValeur']} ". |
'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby : 'cmlv_id_valeur ASC').' '; |
$requete_compte = $requete; |
break; |
case 'id' : |
// Nous avons un identifiant de liste, nous récupérons seulement les valeurs de cette liste |
$requete = (($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' * '. |
'FROM coel_meta_liste_valeur '. |
"WHERE cmlv_ce_parent = {$p['ceParent']} ". |
"AND cmlv_id_valeur LIKE {$p['idValeur']} ". |
'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby : 'cmlv_id_valeur ASC').' '; |
$requete_compte = $requete; |
$requete .= "LIMIT $this->start,$this->limit "; |
case 'id' : |
// Nous avons un identifiant de liste, nous récupérons seulement les valeurs de cette liste |
$requete = (($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' * '. |
'FROM coel_meta_liste_valeur '. |
"WHERE cmlv_ce_parent = {$p['ceParent']} ". |
"AND cmlv_id_valeur LIKE {$p['idValeur']} ". |
'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby : 'cmlv_id_valeur ASC').' '; |
$requete_compte = $requete; |
$requete .= "LIMIT $this->start,$this->limit "; |
break; |
case 'idv' : |
// Nous avons un ou plusieurs identifiants de valeurs, nous les récupérons |
$p = $this->traiterParametresUrl(array('type', 'idValeur'), $param); |
case 'idv' : |
// Nous avons un ou plusieurs identifiants de valeurs, nous les récupérons |
$p = $this->traiterParametresUrl(array('type', 'idValeur'), $param); |
|
$requete = (($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' * '. |
'FROM coel_meta_liste_valeur '. |
'WHERE cmlv_id_valeur IN ('.$this->traiterBddClauseIn($p['idValeur']).') '. |
'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby : 'cmlv_id_valeur ASC').' '. |
"LIMIT $this->start,$this->limit "; |
$requete = (($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' * '. |
'FROM coel_meta_liste_valeur '. |
'WHERE cmlv_id_valeur IN ('.$this->traiterBddClauseIn($p['idValeur']).') '. |
'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby : 'cmlv_id_valeur ASC').' '. |
"LIMIT $this->start,$this->limit "; |
break; |
case 'ab' : |
// Nous avons une abréviation de liste, nous récupérons seulement les valeurs de cette liste |
$requete = (($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' v.* '. |
'FROM coel_meta_liste_valeur AS l LEFT JOIN coel_meta_liste_valeur AS v ON (l.cmlv_id_valeur = v.cmlv_ce_parent) '. |
'WHERE l.cmlv_ce_parent = 0 '. |
"AND l.cmlv_abreviation LIKE {$p['abreviation']} ". |
'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby : 'v.cmlv_id_valeur ASC').' '; |
$requete_compte = $requete; |
$requete .= "LIMIT $this->start,$this->limit "; |
case 'ab' : |
// Nous avons une abréviation de liste, nous récupérons seulement les valeurs de cette liste |
$requete = (($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' v.* '. |
'FROM coel_meta_liste_valeur AS l LEFT JOIN coel_meta_liste_valeur AS v ON (l.cmlv_id_valeur = v.cmlv_ce_parent) '. |
'WHERE l.cmlv_ce_parent = 0 '. |
"AND l.cmlv_abreviation LIKE {$p['abreviation']} ". |
'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby : 'v.cmlv_id_valeur ASC').' '; |
$requete_compte = $requete; |
$requete .= "LIMIT $this->start,$this->limit "; |
break; |
case 'abv' : |
// Nous avons une abréviation de valeur, nous récupérons toutes les valeurs correspondantes |
$requete = (($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' * '. |
'FROM coel_meta_liste_valeur '. |
"WHERE cmlv_abreviation LIKE {$p['abreviation']} ". |
(isset($p['ceParent']) ? " AND cmlv_ce_parent = {$p['ceParent']} " : ''). |
" AND cmlv_id_valeur LIKE {$p['idValeur']}". |
' ORDER BY '.((!is_null($this->orderby)) ? $this->orderby : 'cmlv_id_valeur ASC').' '; |
$requete_compte = $requete; |
$requete .= "LIMIT $this->start,$this->limit "; |
case 'abv' : |
// Nous avons une abréviation de valeur, nous récupérons toutes les valeurs correspondantes |
$requete = (($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' * '. |
'FROM coel_meta_liste_valeur '. |
"WHERE "; |
|
// spécial outre-mer française |
if($p['abreviation'] == "'FR%'" && $p['ceParent'] == "'1078'") { |
$requete .= "cmlv_abreviation REGEXP '^(FR|RE|YT|GP|MQ|GF|NC)...$' "; |
} else { |
$requete .= "cmlv_abreviation LIKE {$p['abreviation']} "; |
} |
|
$requete .= isset($p['ceParent']) ? " AND cmlv_ce_parent = {$p['ceParent']} " : ''. |
" AND cmlv_id_valeur LIKE {$p['idValeur']}". |
' ORDER BY '.((!is_null($this->orderby)) ? $this->orderby : 'cmlv_id_valeur ASC').' '; |
$requete_compte = $requete; |
$requete .= "LIMIT $this->start,$this->limit "; |
break; |
case 'nom' : |
// Nous avons une abréviation de valeur, nous récupérons toutes les valeurs correspondantes |
$requete = (($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' * '. |
'FROM coel_meta_liste_valeur '. |
'WHERE '; |
if (isset($p['nom']) && $p['nom'] != "") $requete .= "cmlv_nom LIKE {$p['nom']} AND "; |
if (isset($p['ceParent'])) $requete .= " cmlv_ce_parent = {$p['ceParent']} AND "; |
$requete .= " cmlv_id_valeur LIKE {$p['idValeur']} ". |
case 'nom' : |
// Nous avons une abréviation de valeur, nous récupérons toutes les valeurs correspondantes |
$requete = (($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' * '. |
'FROM coel_meta_liste_valeur '. |
'WHERE '; |
if (isset($p['nom']) && $p['nom'] != "") $requete .= "cmlv_nom LIKE {$p['nom']} AND "; |
if (isset($p['ceParent'])) $requete .= " cmlv_ce_parent = {$p['ceParent']} AND "; |
$requete .= " cmlv_id_valeur LIKE {$p['idValeur']} ". |
'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby : 'cmlv_id_valeur ASC').' '; |
$requete_compte = $requete; |
$requete .= "LIMIT $this->start,$this->limit "; |
$requete_compte = $requete; |
$requete .= "LIMIT $this->start,$this->limit "; |
break; |
default : |
$this->messages[] = sprintf("Valeur '%s' pour le paramêtre 'type' inconnue (valeurs disponibles : id, ab, abv)!", $p['type']); |
default : |
$this->messages[] = sprintf("Valeur '%s' pour le paramêtre 'type' inconnue (valeurs disponibles : id, ab, abv)!", $p['type']); |
} |
|
if (!is_null($requete)) { |