Refactorisation passage à SLQite3 (début)

Pages faites :
- accueil
- statistiques
- ajouterElement
This commit is contained in:
Timothée Huneau 2025-02-23 23:56:23 +01:00
parent c3ab5baad7
commit 90be5dd519
17 changed files with 1224 additions and 412 deletions

View file

@ -1,5 +1,4 @@
<?php
$c = seConnecter();
$sensOrdreListe = " ASC ";
$typeOrdreListe = " nom ";
@ -14,14 +13,15 @@ if (isset($_POST['tri'])){
$typeOrdreListe = $_POST['typeTri'];
$_SESSION['tri']['ingredient'] = $_POST['ingredient'];
$_SESSION['tri']['ustensile'] = $_POST['ustensile'];
$_SESSION['tri']['ustensile'] = !isset($_POST['ustensile']) ? [] : $_POST['ustensile'];
$_SESSION['tri']['genre'] = !isset($_POST['genre']) ? [] : $_POST['genre'];
$whereClause = '';
//clause des ingrédients
$clauseIngredientsRequis = '';
$clauseIngredientsInterdits = '';
foreach($_POST['ingredient'] as $id => $demande){
foreach($_SESSION['tri']['ingredient'] as $id => $demande){
switch($demande){
case 1:
$clauseIngredientsRequis .= " AND ingredient = $id";
@ -39,21 +39,20 @@ if (isset($_POST['tri'])){
$clauseIngredientsInterdits = "r.id NOT IN (SELECT recette FROM RecetteIngredient WHERE 0=1 $clauseIngredientsInterdits)";
$whereClause .= $clauseIngredientsInterdits . $clauseIngredientsRequis;
//clause des utensiles
$clauseUstensilesAutorises = '';
foreach($_POST['ustensile'] as $id => $demande){
foreach($_SESSION['tri']['ustensile'] as $id => $demande){
if($demande){
$clauseUstensilesAutorises .= " OR ustensile = $id";
}
}
$clauseUstensilesAutorises = " AND r.id NOT IN (SELECT recette FROM RecetteUstensile WHERE 0=1 $clauseUstensilesAutorises)";
$whereClause .= $clauseUstensilesAutorises;
//clause des genres
$clauseGenre = ' AND (1=0 ';
if(isset($_POST['genre'])){
foreach($_POST['genre'] as $id => $demande){
$clauseGenre .= " OR genre = $id";
}
foreach($_SESSION['tri']['genre'] as $id => $demande){
$clauseGenre .= " OR genre = $id";
}
$whereClause .= $clauseGenre . ')';
}else{
@ -67,12 +66,11 @@ WHERE $whereClause
ORDER BY $typeOrdreListe $sensOrdreListe;
";
//echo $requeteListeRecettes;
$resultatListeRecettes = mysqli_query($c, $requeteListeRecettes);
//récupération des différentes recettes correspondant aux POST, si il est défini
$resultatListeRecettes = getAssocFromQueryString($requeteListeRecettes);
if ($resultatListeRecettes){
$listeRecettes = [];
while ($recette = mysqli_fetch_assoc($resultatListeRecettes)){
foreach ($resultatListeRecettes as $key => $recette) {
$idRecette = $recette['idRecette'];
$listeRecettes[$idRecette] = [];
foreach ($recette as $clef => $info){
@ -84,32 +82,10 @@ if ($resultatListeRecettes){
}
}
//recuperation des ingredients
$requeteListeIngredient = "SELECT nom, id FROM Ingredient ORDER BY nom;";
$resultatListeIngredient = mysqli_query($c, $requeteListeIngredient);
$listeIngredient = [];
while ($infoIngredient = mysqli_fetch_assoc($resultatListeIngredient)){
$listeIngredient[$infoIngredient['id']] = $infoIngredient;
}
//recuperation des différentes tables
$listeIngredient = getAllIngredients();
$listeUstensile = getAllUstensiles();
$listePreparation = getAllPreparations();
$listeGenre = getAllGenres();
//recuperation des ustensiles
$requeteListeUstensile = "SELECT nom, id FROM Ustensile ORDER BY nom;";
$resultatListeUstensile = mysqli_query($c, $requeteListeUstensile);
$listeUstensile = [];
while ($infoUstensile = mysqli_fetch_assoc($resultatListeUstensile)){
$listeUstensile[$infoUstensile['id']] = $infoUstensile;
}
//recuperation des modes de preparation
$requeteListePreparation = "SELECT nom, id FROM Preparation ORDER BY nom;";
$resultatListePreparation = mysqli_query($c, $requeteListePreparation);
$listePreparation = [];
while ($infoPreparation = mysqli_fetch_assoc($resultatListePreparation)){
$listePreparation[] = $infoPreparation;
}
//recuperation des genre de recette
$listeGenre = recupereGenres($c);
deconnectBD($c);
?>