Refactorisation passage à SLQite3 (début)
Pages faites : - accueil - statistiques - ajouterElement
This commit is contained in:
parent
c3ab5baad7
commit
90be5dd519
17 changed files with 1224 additions and 412 deletions
|
@ -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);
|
||||
?>
|
|
@ -1,58 +1,34 @@
|
|||
<?php
|
||||
$c = seConnecter();
|
||||
|
||||
|
||||
//ajout d'un ingredient
|
||||
$strAnnee = implode(', ', lANNEE);
|
||||
if (isset($_POST['nomIngredient'])){
|
||||
$nomNvlIngredient = transformeCharsAutorises($_POST['nomIngredient']);
|
||||
|
||||
$lMoisDispo = [];
|
||||
foreach (lANNEE as $mois){
|
||||
$lMoisDispo[] = isset($_POST[$mois]) ? 1 : 0;
|
||||
$lMoisDispo[$mois] = isset($_POST[$mois]) ? true : false;
|
||||
}
|
||||
$strAnneeDispo = implode(', ', $lMoisDispo);
|
||||
|
||||
$reqAjoutIngredient = "INSERT INTO Ingredient (nom, $strAnnee)
|
||||
VALUES (\"$nomNvlIngredient\", $strAnneeDispo);";
|
||||
$resultat = mysqli_query($c, $reqAjoutIngredient);
|
||||
$resultat = safePutIngredient($_POST['nomIngredient'], $lMoisDispo);
|
||||
}
|
||||
//ajout d'un ustensile
|
||||
if (isset($_POST['nomUstensile'])){
|
||||
$nomNvlUstensile = transformeCharsAutorises($_POST['nomUstensile']);
|
||||
$reqAjoutUstensile = "INSERT INTO Ustensile (nom) VALUES ('$nomNvlUstensile');";
|
||||
$resultat = mysqli_query($c, $reqAjoutUstensile);
|
||||
$resultat = safePutUstensile($_POST['nomUstensile']);
|
||||
}
|
||||
|
||||
//ajout d'une unite
|
||||
if (isset($_POST['nomUnite'])){
|
||||
$nomNvlUnite = htmlspecialchars($_POST['nomUnite']);
|
||||
$reqAjoutUnite = "INSERT INTO Unite (nom) VALUES ('$nomNvlUnite');";
|
||||
$resultat = mysqli_query($c, $reqAjoutUnite);
|
||||
$resultat = safePutUnite($_POST['nomUnite']);
|
||||
}
|
||||
|
||||
|
||||
//recuperation des ustensiles
|
||||
$requeteListePersonne = "SELECT nom, id FROM Humain ORDER BY nom;";
|
||||
$resultatListePersonne = mysqli_query($c, $requeteListePersonne);
|
||||
$listePersonne = mysqli_fetch_all($resultatListePersonne);
|
||||
//recuperation des humains
|
||||
// À faire
|
||||
|
||||
//recuperation des ingredients
|
||||
$requeteListeIngredient = "
|
||||
SELECT i.id id, i.nom nom, COUNT(ri.recette) nbr
|
||||
FROM Ingredient i LEFT JOIN RecetteIngredient ri ON ri.ingredient = i.id
|
||||
GROUP BY i.id
|
||||
ORDER BY i.nom;";
|
||||
$resultatListeIngredient = mysqli_query($c, $requeteListeIngredient);
|
||||
$listeIngredient = mysqli_fetch_all($resultatListeIngredient);
|
||||
$listeIngredient = getAllIngredients();
|
||||
|
||||
//recuperation des ustensiles
|
||||
$requeteListeUstensile = "SELECT nom, id FROM Ustensile ORDER BY nom;";
|
||||
$resultatListeUstensile = mysqli_query($c, $requeteListeUstensile);
|
||||
$listeUstensile = mysqli_fetch_all($resultatListeUstensile);
|
||||
$listeUstensile = getAllUstensiles();
|
||||
|
||||
//recuperation des unités
|
||||
$requeteListeUnite = "SELECT nom, id FROM Unite ORDER BY nom;";
|
||||
$resultatListeUnite = mysqli_query($c, $requeteListeUnite);
|
||||
$listeUnite = mysqli_fetch_all($resultatListeUnite);
|
||||
$listeUnite = getAllUnites();
|
||||
?>
|
|
@ -1,5 +1,4 @@
|
|||
<?php
|
||||
$c = seConnecter();
|
||||
<?php
|
||||
|
||||
//on commence par supposer que tout va mal (que la page reherchée n'existe pas)
|
||||
$titrePageAjout = '???';
|
||||
|
@ -9,9 +8,7 @@ $pageExiste = false;
|
|||
if (isset($_GET['id'])){
|
||||
$idRecette = $_GET['id'];
|
||||
$_SESSION['idDerniereRecetteVu'] = $idRecette;
|
||||
$requeteId = "SELECT * FROM Recette WHERE id=$idRecette;";
|
||||
$resultatId = mysqli_query($c, $requeteId);
|
||||
$infoRecette = mysqli_fetch_assoc($resultatId);
|
||||
$infoRecette = getRecetteFromId($idRecette);
|
||||
$pageExiste = ($infoRecette) ? 1 : ( $idRecette ? 0 : -1) ;
|
||||
if($pageExiste and isset($_GET['mode'])){
|
||||
switch($_GET['mode']){
|
||||
|
@ -92,34 +89,8 @@ if ($pageExiste){
|
|||
|
||||
//on recupere toutes les infos sur la recette sélectionnée.
|
||||
//(elles ont p-ê été modifiés juste avant, mais dans le doute ...)
|
||||
$requeteRecette =
|
||||
"SELECT r.nom, r.id idRecette, r.nbPortion portions, u.nom unite, r.realisation, u.id idU, r.tempsTotal tempsTotal, g.nom genre
|
||||
FROM Recette r JOIN Unite u ON r.unitePortion = u.id JOIN Genre g ON r.genre = g.id
|
||||
WHERE r.id = $idRecette
|
||||
ORDER BY nom;
|
||||
";
|
||||
$requeteIngredient =
|
||||
"SELECT ri.ingredient idIngredient, i.nom nom, ri.quantite quantite, u.nom unite, u.id idU
|
||||
FROM Ingredient i JOIN RecetteIngredient ri ON i.id = ri.ingredient JOIN Unite u ON ri.unite = u.id
|
||||
WHERE ri.recette = $idRecette
|
||||
ORDER BY nom;
|
||||
";
|
||||
$requeteUstensile = "
|
||||
SELECT ru.ustensile idUstensile, u.nom nom, ru.commentaire commentaire
|
||||
FROM Ustensile u JOIN RecetteUstensile ru ON u.id = ru.ustensile
|
||||
WHERE ru.recette = $idRecette
|
||||
ORDER BY nom;
|
||||
";
|
||||
$requetePreparation = "
|
||||
SELECT rp.preparation idPreparation, p.nom nom, rp.duree duree, rp.temperature temperature
|
||||
FROM Preparation p JOIN RecettePreparation rp ON p.id = rp.preparation
|
||||
WHERE rp.recette = $idRecette
|
||||
ORDER BY nom;
|
||||
";
|
||||
$requeteGenre = "
|
||||
SELECT g.id idGenre, g.nom nom
|
||||
FROM Genre g JOIN Recette r ON g.id = r.genre
|
||||
WHERE r.id = $idRecette;
|
||||
|
||||
";
|
||||
$requeteReutilise = "
|
||||
SELECT reu.utilisee id, rec.nom nom
|
||||
|
@ -128,45 +99,42 @@ if ($pageExiste){
|
|||
ORDER BY nom;
|
||||
";
|
||||
|
||||
$resultatRecette = mysqli_query($c, $requeteRecette);
|
||||
$resultatIngredient = mysqli_query($c, $requeteIngredient);
|
||||
$resultatUstensile = mysqli_query($c, $requeteUstensile);
|
||||
$resultatPreparation = mysqli_query($c, $requetePreparation);
|
||||
$resultatGenre = mysqli_query($c, $requeteGenre);
|
||||
$resultatReutilise = mysqli_query($c, $requeteReutilise);
|
||||
$infoRecette = getRecetteFullFromId($idRecette);
|
||||
$infoRecette['tempsTotal'] = $infoRecette['tempsTotal'];
|
||||
|
||||
$infoRecette = mysqli_fetch_assoc($resultatRecette);
|
||||
$infoRecette['tempsTotal'] = calculeTexteFromMinutes($infoRecette['tempsTotal']);
|
||||
$nomGenre = getGenreWithRecetteId($idRecette)['nom'];
|
||||
|
||||
$nomGenre = mysqli_fetch_assoc($resultatGenre)['nom'];
|
||||
|
||||
$listeIngredientsRecette = [];
|
||||
while ($ingredient = mysqli_fetch_assoc($resultatIngredient)){
|
||||
$listeIngredientsRecette[$ingredient['idIngredient']] = [];
|
||||
$listeIngredientsRecette[$ingredient['idIngredient']]['nom'] = $ingredient['nom'];
|
||||
$listeIngredientsRecette[$ingredient['idIngredient']]['quantite'] = $ingredient['quantite'];
|
||||
$listeIngredientsRecette[$ingredient['idIngredient']]['unite'] = $ingredient['unite'];
|
||||
$listeIngredientsRecette[$ingredient['idIngredient']]['idU'] = $ingredient['idU'];
|
||||
$listeIngredientRecetteRaw = getAllIngredientsWithRecetteId($idRecette);
|
||||
$listeIngredientRecette = [];
|
||||
foreach ($listeIngredientRecetteRaw as $ingredient){
|
||||
$listeIngredientRecette[$ingredient['idIngredient']] = [];
|
||||
$listeIngredientRecette[$ingredient['idIngredient']]['nom'] = $ingredient['nom'];
|
||||
$listeIngredientRecette[$ingredient['idIngredient']]['quantite'] = $ingredient['quantite'];
|
||||
$listeIngredientRecette[$ingredient['idIngredient']]['unite'] = $ingredient['unite'];
|
||||
$listeIngredientRecette[$ingredient['idIngredient']]['idU'] = $ingredient['idU'];
|
||||
}
|
||||
|
||||
$listeUstensilesRecette = [];
|
||||
while ($ustensile = mysqli_fetch_assoc($resultatUstensile)){
|
||||
$listeUstensilesRecette[$ustensile['idUstensile']] = [];
|
||||
$listeUstensilesRecette[$ustensile['idUstensile']]['nom'] = $ustensile['nom'];
|
||||
$listeUstensilesRecette[$ustensile['idUstensile']]['commentaire'] = $ustensile['commentaire'];
|
||||
$listeUstensileRecetteRaw = getAllUstensileWithRecetteId($idRecette);
|
||||
$listeUstensileRecette = [];
|
||||
foreach ($listeUstensileRecetteRaw as $ustensile){
|
||||
$listeUstensileRecette[$ustensile['idUstensile']] = [];
|
||||
$listeUstensileRecette[$ustensile['idUstensile']]['nom'] = $ustensile['nom'];
|
||||
$listeUstensileRecette[$ustensile['idUstensile']]['commentaire'] = $ustensile['commentaire'];
|
||||
}
|
||||
|
||||
$listePreparationsRecette = [];
|
||||
while ($preparation = mysqli_fetch_assoc($resultatPreparation)){
|
||||
$listePreparationsRecette[$preparation['idPreparation']] = [];
|
||||
$listePreparationsRecette[$preparation['idPreparation']]['nom'] = $preparation['nom'];
|
||||
$listePreparationsRecette[$preparation['idPreparation']]['duree'] = calculeTexteFromMinutes($preparation['duree']);
|
||||
$listePreparationsRecette[$preparation['idPreparation']]['temperature'] = $preparation['temperature'];
|
||||
$litesPreparationRecetteRaw = getAllPreparationWithRecetteId($idRecette);
|
||||
$listePreparationRecette = [];
|
||||
foreach ($litesPreparationRecetteRaw as $preparation){
|
||||
$listePreparationRecette[$preparation['idPreparation']] = [];
|
||||
$listePreparationRecette[$preparation['idPreparation']]['nom'] = $preparation['nom'];
|
||||
$listePreparationRecette[$preparation['idPreparation']]['duree'] = $preparation['duree'];
|
||||
$listePreparationRecette[$preparation['idPreparation']]['temperature'] = $preparation['temperature'];
|
||||
}
|
||||
|
||||
$listeReutiliseeRecetteRaw = getAllReutiliseeWithRecetteId($idRecette);
|
||||
$listeReutiliseRecette = [];
|
||||
while ($recette = mysqli_fetch_assoc($resultatReutilise)){
|
||||
$listeReutiliseRecette[$recette['id']] = $recette;
|
||||
foreach ($listeReutiliseeRecetteRaw as $key => $value){
|
||||
$listeReutiliseRecette[$recette['id']] = $value;
|
||||
}
|
||||
|
||||
|
||||
|
@ -175,23 +143,20 @@ if ($pageExiste){
|
|||
switch($pageExiste){
|
||||
case 1:
|
||||
$infoRecette['realisation'] = ecritureVersLecture($infoRecette['realisation']);
|
||||
foreach($listeUstensilesRecette as $ustensile){
|
||||
foreach($listeUstensileRecette as $ustensile){
|
||||
$ustensile['commentaire'] = ecritureVersLecture($ustensile['commentaire']);
|
||||
}
|
||||
break;
|
||||
|
||||
case 2:
|
||||
$infoRecette['realisation'] = lectureVersEcriture($infoRecette['realisation']);
|
||||
foreach($listeUstensilesRecette as $id => $ustensile){
|
||||
$listeUstensilesRecette[$id]['commentaire'] = lectureVersEcriture($listeUstensilesRecette[$id]['commentaire']);
|
||||
foreach($listeUstensileRecette as $id => $ustensile){
|
||||
$listeUstensileRecette[$id]['commentaire'] = lectureVersEcriture($listeUstensileRecette[$id]['commentaire']);
|
||||
}
|
||||
case -1:
|
||||
$listeUnite = recupereUnites($c);
|
||||
$listeGenre = recupereGenres($c);
|
||||
$listeUnite = getAllUnites();
|
||||
$listeGenre = getAllGenres();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
deconnectBD($c);
|
||||
|
||||
?>
|
|
@ -1,9 +1,3 @@
|
|||
<?php
|
||||
$c = seConnecter();
|
||||
|
||||
$requeteNbRecettes = "SELECT COUNT(*) FROM Recette;";
|
||||
$resultatNbRecettes = mysqli_query($c, $requeteNbRecettes);
|
||||
$nbRecettes = mysqli_fetch_all($resultatNbRecettes)[0][0];
|
||||
|
||||
deconnectBD($c);
|
||||
$nbRecettes = getRecetteCount();
|
||||
?>
|
Loading…
Add table
Add a link
Reference in a new issue