Line 680... |
Line 680... |
680 |
if(!$obsids) return;
|
680 |
if(!$obsids) return;
|
681 |
if(!self::referenceTableExiste()) return NULL;
|
681 |
if(!self::referenceTableExiste()) return NULL;
|
Line 682... |
Line 682... |
682 |
|
682 |
|
683 |
// Attention (en attendant de faire une meilleure table et une meilleure requete) le distinct est très important
|
683 |
// Attention (en attendant de faire une meilleure table et une meilleure requete) le distinct est très important
|
684 |
$req = sprintf("SELECT DISTINCT referentiel, num_nom_retenu, %s FROM cel_references r" .
|
684 |
$req = sprintf("SELECT DISTINCT referentiel, num_nom_retenu, %s FROM cel_references r" .
|
- |
|
685 |
" INNER JOIN cel_obs c ON (r.num_nom_retenu = c.nom_ret_nn)" .
|
685 |
" INNER JOIN cel_obs c ON (r.num_nom_retenu = c.nom_ret_nn) AND r.referentiel = c.nom_referentiel " .
|
686 |
" AND r.referentiel = IF(LOCATE(':', c.nom_referentiel) = 0, c.nom_referentiel, SUBSTR(c.nom_referentiel FROM 1 FOR LOCATE(':', c.nom_referentiel) - 1))" .
|
686 |
" WHERE c.id_observation IN (%s)",
|
687 |
" WHERE c.id_observation IN (%s)",
|
687 |
//" AND catminat_code IS NOT NULL", // TODO: suppression des NULL ici signifie que le cache sera partiel...
|
688 |
//" AND catminat_code IS NOT NULL", // TODO: suppression des NULL ici signifie que le cache sera partiel...
|
688 |
implode(',', array_keys(self::$baseflor_col)),
|
689 |
implode(',', array_keys(self::$baseflor_col)),
|
689 |
implode(',', $obsids));
|
- |
|
690 |
|
690 |
implode(',', $obsids));
|
691 |
$res = Cel::db()->requeter($req);
|
691 |
$res = Cel::db()->requeter($req);
|
Line 692... |
Line 692... |
692 |
if(!$res) return NULL;
|
692 |
if(!$res) return NULL;
|
693 |
|
693 |
|