-
vautrin33u authoredvautrin33u authored
install.php 3.55 KiB
<?php // Création d'une base de données
function query($link,$requete)
{
$resultat=mysqli_query($link,$requete) or die("$requete : ".mysqli_error($link));
return($resultat);
}
function loadDB(){
include("Donnees.inc.php");
$mysqli=mysqli_connect('127.0.0.1', 'root', '') or die("Erreur de connexion");
// Récupération des tableaux pour les insérer dans une base de données
if (isset($Recettes)) {
$tabRecettes = $Recettes;
}
if (isset($Hierarchie)){
$tabHierarchie = $Hierarchie;
}
$cmpt = 0;
$str ="";
// Parcours de tous les aliments pour les ajouter à la base de donnée
while (current($tabHierarchie)){
//echo key($categorie);
$prep = mysqli_real_escape_string($mysqli, key($tabHierarchie));
$str .= "INSERT INTO aliments(alim_nom) VALUES ('".$prep."'); ";
next($tabHierarchie);
}
reset($tabHierarchie);
// Parcours des aliments pour les reliés aux sous-catégories
while ($categorie = current($tabHierarchie)){
$souscat = $categorie['sous-categorie'];
while ($alim = current($souscat)){
$prep = mysqli_real_escape_string($mysqli, key($tabHierarchie));
$fils = mysqli_real_escape_string($mysqli, $alim);
$str .= "INSERT INTO hierarchie(super_nom, sous_nom) VALUES ('".$prep."', '".$fils."'); ";
next($souscat);
}
next($tabHierarchie);
}
$valeur = 1;
// Parcours des recettes et génération des éléments correspondants dans leurs tables
foreach($tabRecettes as $colonne){
$titre = mysqli_real_escape_string($mysqli, $colonne['titre']);
$ingred = mysqli_real_escape_string($mysqli, $colonne['ingredients']);
$prep = mysqli_real_escape_string($mysqli, $colonne['preparation']);
if (count($tabRecettes)-1 === $cmpt){
$str .= "INSERT INTO recettes VALUES (".$cmpt.", '".$titre."', '".$ingred."', '".$prep."')";
}else{
$str .= "INSERT INTO recettes VALUES (".$cmpt.", '".$titre."', '".$ingred."', '".$prep."'); ";
}
while ($ingred = current($colonne['index'])){
$prep = mysqli_real_escape_string($mysqli, $ingred);
$str .= "INSERT INTO ingredientsderecettes VALUES (".$cmpt.", '".$valeur."', '".$prep."'); ";
next($colonne['index']);
}
$valeur++;
}
$base="Boissons";
$Sql="
DROP DATABASE IF EXISTS $base;
CREATE DATABASE $base;
USE $base;
CREATE TABLE IF NOT EXISTS recettes (
id INT AUTO_INCREMENT PRIMARY KEY,
titre VARCHAR(255) NOT NULL,
ingredients VARCHAR(1024) NOT NULL,
preparation VARCHAR(4096) NOT NULL
);
CREATE TABLE IF NOT EXISTS utilisateurs (
user_id INT AUTO_INCREMENT PRIMARY KEY,
nom VARCHAR(255) NULL,
prenom VARCHAR(255) NULL,
sexe VARCHAR(1) NULL,
email VARCHAR(150) NULL,
pseudo VARCHAR(150) NOT NULL UNIQUE,
password VARCHAR(32) NOT NULL
);
CREATE TABLE IF NOT EXISTS aliments (
alim_nom VARCHAR(255) PRIMARY KEY
);
CREATE TABLE IF NOT EXISTS hierarchie (
super_nom VARCHAR(225) NOT NULL,
sous_nom VARCHAR(255) NOT NULL,
PRIMARY KEY (super_nom, sous_nom),
FOREIGN KEY (super_nom) REFERENCES aliments(alim_nom) ON DELETE CASCADE,
FOREIGN KEY (sous_nom) REFERENCES aliments(alim_nom) ON DELETE CASCADE
);
CREATE TABLE IF NOT EXISTS ingredientsderecettes (
id INT AUTO_INCREMENT PRIMARY KEY,
idBoisson INT NOT NULL,
nomIngredient VARCHAR(255) NOT NULL,
FOREIGN KEY (idBoisson) REFERENCES recettes(id) ON DELETE CASCADE,
FOREIGN KEY (nomIngredient) REFERENCES aliments(alim_nom) ON DELETE CASCADE
);
".$str;
foreach(explode('; ',$Sql) as $Requete) query($mysqli,$Requete);
mysqli_close($mysqli);
}
loadDB();
?>