Line 684... |
Line 684... |
684 |
Ainsi, les appels successifs à baseflor_ligne() ne sont pas couteux (pas de requête SQL) */
|
684 |
Ainsi, les appels successifs à baseflor_ligne() ne sont pas couteux (pas de requête SQL) */
|
685 |
static function baseflor_preload($cel, $obsids) {
|
685 |
static function baseflor_preload($cel, $obsids) {
|
686 |
if(!$obsids) return;
|
686 |
if(!$obsids) return;
|
687 |
if(!self::referenceTableExiste()) return NULL;
|
687 |
if(!self::referenceTableExiste()) return NULL;
|
Line -... |
Line 688... |
- |
|
688 |
|
688 |
|
689 |
// Attention (en attendant de faire une meilleure table et une meilleure requete) le distinct est très important
|
689 |
$req = sprintf("SELECT referentiel, num_nom_retenu, %s FROM cel_references r" .
|
690 |
$req = sprintf("SELECT DISTINCT referentiel, num_nom_retenu, %s FROM cel_references r" .
|
690 |
" INNER JOIN cel_obs c ON (r.num_nom_retenu = c.nom_ret_nn)" .
|
691 |
" INNER JOIN cel_obs c ON (r.num_nom_retenu = c.nom_ret_nn) AND r.referentiel = c.nom_referentiel " .
|
691 |
" WHERE c.id_observation IN (%s)",
|
692 |
" WHERE c.id_observation IN (%s)",
|
692 |
//" AND catminat_code IS NOT NULL", // TODO: suppression des NULL ici signifie que le cache sera partiel...
|
693 |
//" AND catminat_code IS NOT NULL", // TODO: suppression des NULL ici signifie que le cache sera partiel...
|
693 |
implode(',', array_keys(self::$baseflor_col)),
|
694 |
implode(',', array_keys(self::$baseflor_col)),
|
- |
|
695 |
implode(',', $obsids));
|
694 |
implode(',', $obsids));
|
696 |
|
695 |
$res = Cel::db()->requeter($req);
|
697 |
$res = Cel::db()->requeter($req);
|
Line 696... |
Line 698... |
696 |
if(!$res) return NULL;
|
698 |
if(!$res) return NULL;
|
697 |
|
699 |
|
Line 727... |
Line 729... |
727 |
return;
|
729 |
return;
|
728 |
}
|
730 |
}
|
Line 729... |
Line 731... |
729 |
|
731 |
|
730 |
list($referentiel) = explode(':', strtolower($obs['nom_referentiel']));
|
732 |
list($referentiel) = explode(':', strtolower($obs['nom_referentiel']));
|
731 |
$cache_id = $referentiel . '-' . $obs['nom_ret_nn'];
|
- |
|
732 |
|
- |
|
733 |
//echo $cache_id;
|
- |
|
734 |
//echo '<pre>'.print_r(self::$cache['getBaseflor'], true).'</pre>';
|
- |
|
Line 735... |
Line 733... |
735 |
//exit;
|
733 |
$cache_id = $referentiel . '-' . $obs['nom_ret_nn'];
|
736 |
|
734 |
|
737 |
// XXX: problème de valeurs NULL pour utiliser simplement isset() ?
|
735 |
// XXX: problème de valeurs NULL pour utiliser simplement isset() ?
|
738 |
// @ car getBaseflor[] n'est peut-être pas encore initialisé
|
736 |
// @ car getBaseflor[] n'est peut-être pas encore initialisé
|