Commit 1e1e2af1 authored by victorfriboulet07's avatar victorfriboulet07
Browse files

🐛 correction des erreurs et des utilisations pas actualisées de methodes

parent 5969d859
Loading
Loading
Loading
Loading
+37 −16
Original line number Diff line number Diff line
@@ -490,32 +490,53 @@ class RecetteManager extends Manager {

        return false;
    }
    public function getRecettesFiltre(string $Filtre,$VALUE): array{
    public function getRecettesFiltre(string $Filtre,string $VALUE): array{
        $requete = '';
        switch($Filtre) {
            default: throw(new Exception("filtre inexistant"));
            break;
            case "tag": $requete = "SELECT * FROM CUI_RECETTE WHERE CUI_RECETTE.REC_ID IN(SELECT REC_ID FROM CUI_ETIQUETTAGE WHERE CUI_ETIQUETTAGE.TAG_ID IN (SELECT TAG_ID FROM CUI_TAG WHERE CUI_TAG.TAG_INTITULE='{$VALUE}'))";
            case "tag":
                $VALUE= explode(',', $VALUE);
                $requete = "SELECT * FROM CUI_RECETTE JOIN CUI_CATEGORIE USING (CAT_CODE)
        JOIN CUI_UTILISATEUR USING (UTIL_ID) WHERE CUI_RECETTE.REC_ID IN(SELECT REC_ID FROM CUI_ETIQUETTAGE WHERE CUI_ETIQUETTAGE.TAG_ID IN (";
                foreach ($VALUE as $item){
                    $requete=$requete."SELECT TAG_ID FROM CUI_TAG WHERE UPPER(CUI_TAG.TAG_INTITULE)=UPPER('{$item}')";
                    if ($VALUE[count($VALUE)-1]!==$item){
                        $requete=$requete." UNION ";
                    }
                }
                $requete=$requete."))";
                break;
            case "ingredient" :  $requete = "SELECT * FROM CUI_RECETTE WHERE CUI_RECETTE.REC_ID IN(SELECT REC_ID FROM CUI_COMPOSITION WHERE ING_ID IN (";
            case "ingredient" :
                $VALUE= explode(',', $VALUE);
                $requete = "SELECT * FROM CUI_RECETTE JOIN CUI_CATEGORIE USING (CAT_CODE)
        JOIN CUI_UTILISATEUR USING (UTIL_ID) WHERE CUI_RECETTE.REC_ID IN(SELECT REC_ID FROM CUI_COMPOSITION WHERE ING_ID IN (";
                foreach ($VALUE as $item){
                $requete=$requete."SELECT ING_ID FROM CUI_INGREDIENT WHERE ING_INTITULE='{$item}'";
                    $requete=$requete."SELECT ING_ID FROM CUI_INGREDIENT WHERE UPPER(ING_INTITULE)=UPPER('{$item}')";
                    if ($VALUE[count($VALUE)-1]!==$item){
                        $requete=$requete." UNION ";
                    }
                }
            $requete=$requete.")";
                $requete=$requete."))";
                break;
            case "nom" :  $requete = "SELECT * FROM CUI_RECETTE WHERE REC_TITRE LIKE ('%{$VALUE}%')";
            case "titre" :
                $VALUE=strtoupper($VALUE);
                $requete = "SELECT * FROM CUI_RECETTE JOIN CUI_CATEGORIE USING (CAT_CODE)
        JOIN CUI_UTILISATEUR USING (UTIL_ID) WHERE UPPER(REC_TITRE) LIKE (UPPER('%{$VALUE}%'))";
                break;
            case "categorie"  :
                $requete = "SELECT * FROM CUI_RECETTE WHERE CAT_CODE='{$VALUE}'";
        }
        $resultat = self::projectionBdd($requete) ;

        $recettes = [];

        foreach($resultat as $ligne){
            $recettes[] = new Recette($ligne['REC_ID'], $ligne['REC_TITRE'], $ligne['REC_CONTENU'], $ligne['REC_RESUME'], $ligne['REC_IMAGE'],
                $ligne['REC_DATE_CREATION'], $ligne['REC_DATE_MODIFICATION'], $ligne['REC_STATUT'], $ligne['UTIL_ID'], $ligne['CAT_CODE']);
            $recettes[] = self::recetteFromLigne($ligne);
        }

        var_dump($recettes);

        return $recettes;
    }
}
 No newline at end of file