Subversion Repositories eFlore/Archives.eflore-consultation-v2

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
123 jpm 1
<?php
2
class TAXON_RECHERCHE_ALPHABET extends macroElement {
3
    function getSQL()
4
    {
5
        $contexte = array();
6
        if (array_key_exists('nvp', $this->contexteRef) and
7
            array_key_exists('rg', $this->contexteRef)  and
8
            array_key_exists('od', $this->contexteRef)  and
9
            array_key_exists('le', $this->contexteRef)) {
10
 
11
            $contexte['nvp'] = $this->contexteRef['nvp'];
12
            $contexte['rg'] = $this->contexteRef['rg'];
13
            $contexte['od'] = $this->contexteRef['od'];
14
            $contexte['le'] = $this->contexteRef['le'];
15
            if (!empty($contexte['nvp']) && !empty($contexte['rg']) && !empty($contexte['od']) && !empty($contexte['le'])) {
16
                $requete =
17
                'SELECT DISTINCT
18
                nom.en_id_nom,
19
                intitule.eni_intitule_nom,
20
                selection.esn_id_taxon,
21
                selection.esn_id_version_projet_taxon
22
 
23
                FROM
24
                eflore_nom AS nom,
25
                eflore_nom_intitule AS intitule,
26
                eflore_selection_nom AS selection
27
 
28
                WHERE
29
                intitule.eni_intitule_nom LIKE "'.$contexte['le'].'%"
30
                AND nom.en_id_nom = intitule.eni_id_nom
31
                AND intitule.eni_id_categorie_format = 3
32
                AND intitule.eni_id_valeur_format = 4
33
                AND nom.en_id_nom = selection.esn_id_nom
34
                AND selection.esn_ce_statut = 3
35
                AND selection.esn_id_version_projet_taxon = '.$contexte['nvp'].' ';
36
                switch ($contexte['od']) {
37
                    case 'sup' :
38
                        $requete .= 'AND nom.en_ce_rang < '.$contexte['rg'].' ';
39
                        break;
40
                    case 'ega' :
41
                        $requete .= 'AND nom.en_ce_rang = '.$contexte['rg'].' ';
42
                        break;
43
                    case 'inf' :
44
                        $requete .= 'AND nom.en_ce_rang > '.$contexte['rg'].' ';
45
                        break;
46
                }
47
                $requete .= 'ORDER BY intitule.eni_intitule_nom ASC';
48
 
49
                return $requete;
50
            }
51
        }
52
        return null;
53
    }
54
}
55
?>