686,12 → 686,14 |
if(!$obsids) return; |
if(!self::referenceTableExiste()) return NULL; |
|
$req = sprintf("SELECT referentiel, num_nom_retenu, %s FROM cel_references r" . |
" INNER JOIN cel_obs c ON (r.num_nom_retenu = c.nom_ret_nn)" . |
// Attention (en attendant de faire une meilleure table et une meilleure requete) le distinct est très important |
$req = sprintf("SELECT DISTINCT referentiel, num_nom_retenu, %s FROM cel_references r" . |
" INNER JOIN cel_obs c ON (r.num_nom_retenu = c.nom_ret_nn) AND r.referentiel = c.nom_referentiel " . |
" WHERE c.id_observation IN (%s)", |
//" AND catminat_code IS NOT NULL", // TODO: suppression des NULL ici signifie que le cache sera partiel... |
implode(',', array_keys(self::$baseflor_col)), |
implode(',', $obsids)); |
|
$res = Cel::db()->requeter($req); |
if(!$res) return NULL; |
|
730,10 → 732,6 |
list($referentiel) = explode(':', strtolower($obs['nom_referentiel'])); |
$cache_id = $referentiel . '-' . $obs['nom_ret_nn']; |
|
//echo $cache_id; |
//echo '<pre>'.print_r(self::$cache['getBaseflor'], true).'</pre>'; |
//exit; |
|
// XXX: problème de valeurs NULL pour utiliser simplement isset() ? |
// @ car getBaseflor[] n'est peut-être pas encore initialisé |
if(@array_key_exists($cache_id, self::$cache['getBaseflor'])) { |