Subversion Repositories eFlore/Applications.cel

Rev

Rev 2249 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2249 Rev 2254
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é