Carousel lié à la bdd
Résolu/Fermé
anthonyr_25
Messages postés
165
Date d'inscription
mercredi 5 janvier 2022
Statut
Membre
Dernière intervention
6 juillet 2022
-
11 mars 2022 à 14:26
jordane45 Messages postés 38284 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 novembre 2024 - 13 mars 2022 à 20:11
jordane45 Messages postés 38284 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 novembre 2024 - 13 mars 2022 à 20:11
A voir également:
- Supprimer fond d'écran carrousel
- Comment enlever le fond d'écran carousel ✓ - Forum Windows 10
- Supprimer bdd phpmyadmin ✓ - Forum Logiciels
- Fond d'écran carousel - Forum Windows
- Désactiver carousel xiaomi - Forum PHP
- Probleme carousel - Forum Créer un site
4 réponses
jordane45
Messages postés
38284
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 novembre 2024
4 697
11 mars 2022 à 15:25
11 mars 2022 à 15:25
Bonjour
Relis ton code php.. tu verras que tu n'utilises pas les bonnes variables
.
Relis ton code php.. tu verras que tu n'utilises pas les bonnes variables
.
anthonyr_25
Messages postés
165
Date d'inscription
mercredi 5 janvier 2022
Statut
Membre
Dernière intervention
6 juillet 2022
6
Modifié le 11 mars 2022 à 18:38
Modifié le 11 mars 2022 à 18:38
J'était sur la bonne voix tout à l'heure alors, j'avais créer une table pour mes sliders ;) en revanche si je dois créer une seule et même table pour mes images sa va complexifié tout le reste de mon code ... je peux peut être allez les cherché dans mes tables déjà prètes ?
jordane45
Messages postés
38284
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 novembre 2024
4 697
Modifié le 11 mars 2022 à 18:45
Modifié le 11 mars 2022 à 18:45
en revanche si je dois créer une seule et même table pour mes images sa va complexifié tout le reste de mon code ... je peux peut être allez les cherché dans mes tables déjà prètes ?
Tout est possible ... mais le temps que tu vas perdre à remettre la structure de ta table au propre .. tu le gagneras sur le reste de ton dev et sur la maintenabilité et l'évolutivité de ton site...
J'espère que tu n'as pas non plus créé une table par type de produit ... là ça sera le pompon ...
anthonyr_25
Messages postés
165
Date d'inscription
mercredi 5 janvier 2022
Statut
Membre
Dernière intervention
6 juillet 2022
6
>
jordane45
Messages postés
38284
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 novembre 2024
Modifié le 11 mars 2022 à 18:55
Modifié le 11 mars 2022 à 18:55
^^ non.. j'ai créer simplement une table pour mes plat avec tout mes plats, une table dessert etc...
ce que j'aimerais vraiment faire c'est de faire un lien sur mon backoffice en dessous de chaque produits avec écris "ajoutez au carousel" et un compteur avec le nombre d'image dans mon carousel qui est de 5 images donc un petit "4/5" ou "5/5" si il est complet
tu pensse que tu pourrais m'aider à faire sa ?
je peux peut etre t'envoyer mon site directement non comme sa tu regarde et on fait sa ensemble ? ^^
pour l'instant mon backoffice il ressemble à sa :
Oui je sais je devrais également rajouté un champ description cars la les description sont toutes les même, mais sinon ajoutez fonctionne supprimer fonctionne et modifier fonctionne c'est déjà bien ^^
ce que j'aimerais vraiment faire c'est de faire un lien sur mon backoffice en dessous de chaque produits avec écris "ajoutez au carousel" et un compteur avec le nombre d'image dans mon carousel qui est de 5 images donc un petit "4/5" ou "5/5" si il est complet
tu pensse que tu pourrais m'aider à faire sa ?
je peux peut etre t'envoyer mon site directement non comme sa tu regarde et on fait sa ensemble ? ^^
pour l'instant mon backoffice il ressemble à sa :
Oui je sais je devrais également rajouté un champ description cars la les description sont toutes les même, mais sinon ajoutez fonctionne supprimer fonctionne et modifier fonctionne c'est déjà bien ^^
jordane45
Messages postés
38284
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 novembre 2024
4 697
>
anthonyr_25
Messages postés
165
Date d'inscription
mercredi 5 janvier 2022
Statut
Membre
Dernière intervention
6 juillet 2022
11 mars 2022 à 18:59
11 mars 2022 à 18:59
Tu as bien réussi à faire tes autres pages ... pourquoi n'y arriverais tu pas pour celle la ??
Je veux bien t'aider ( mais ici uniquement .. ) à condition que tu commences à coder quelque chose et que tu reviennes nous le montrer en expliquant précisément sur quoi tu bloques.
Mais en gros .. un form pour chaque bouton "ajouter au carousel" ..
Formulaire qui enverra l'id du produit
Et pour le compteur.. une simple requête SELECT COUNT au début de ton script fera l'affaire...
Bref.. que tu "standard" ... comme tes autres boutons..
Je veux bien t'aider ( mais ici uniquement .. ) à condition que tu commences à coder quelque chose et que tu reviennes nous le montrer en expliquant précisément sur quoi tu bloques.
Mais en gros .. un form pour chaque bouton "ajouter au carousel" ..
Formulaire qui enverra l'id du produit
Et pour le compteur.. une simple requête SELECT COUNT au début de ton script fera l'affaire...
Bref.. que tu "standard" ... comme tes autres boutons..
anthonyr_25
Messages postés
165
Date d'inscription
mercredi 5 janvier 2022
Statut
Membre
Dernière intervention
6 juillet 2022
6
>
anthonyr_25
Messages postés
165
Date d'inscription
mercredi 5 janvier 2022
Statut
Membre
Dernière intervention
6 juillet 2022
Modifié le 11 mars 2022 à 19:05
Modifié le 11 mars 2022 à 19:05
voila le code pour cette interface :
voila le code pour la modification :
le code pour la suppression :
et le code pour l'ajout :
et il y as la meme chose pour les desserts les plats, les aperitifs
<!-- boisson --> <div class="tab-pane fade" id="tabs-1-4"> <?php /* boisson */ $bdd = new PDO('mysql:host=localhost;dbname=mydb', 'root', 'root'); $recupProd = $bdd->query('SELECT * FROM boisson'); while ($valeurs = $recupProd->fetch()) { ?> <div class="box-event-modern"> <div class="event-item-modern overflow-auto"> <h4 style="margin: 1vh;"><?= $valeurs['id_boisson']; ?> : id du produit</h4> <h4 class="event-item-modern-title"><?= $valeurs['nom_boisson']; ?></h4> <p class="event-time"> prix : <?= $valeurs['prix_boisson']; ?> € </p> <p class="event-time"><?= $valeurs['img_boisson']; ?></p> <div class="event-item-modern-text"> <p>The most popular drink in Venice: refreshing, easygoing &…happy! Perfect to be sipped as an “Aperitivo” just before dinner - delightful!</p> <a href="supp.php?id_boisson=<?=$valeurs['id_boisson']; ?>" style="background: red; color: white;">Supprimer le produit</a> <a href="modifie.php?id_boisson=<?=$valeurs['id_boisson']; ?>" style="background: blue; color: white;">Modifier</a> <form method="POST" action="add.php"> <p class="h3 bg-green">Ajoutez un boisson</p> <input type="text" name="newboisson" placeholder="nom du produit"> <input type="number" name="numboisson" step="0.01" placeholder="prix du produit"> <input type="url" name="imgboisson" placeholder="url de l'image"> <input type="submit" name="valider_boisson"> </form> </div> </div> </div> <?php } ?> </div>
voila le code pour la modification :
<?php /* boisson */ if(isset($_GET['id_boisson']) AND !empty($_GET['id_boisson'])) { $getid = $_GET['id_boisson']; $recupProd = $bdd->prepare('SELECT * FROM boisson WHERE id_boisson = ? '); $recupProd->execute(array($getid)); if($recupProd->rowCount() > 0){ $alldata = $recupProd->fetch(); $oldnameboisson = $alldata['nom_boisson']; $oldprixboisson = $alldata['prix_boisson']; $oldpictureboisson = $alldata['img_boisson']; if(isset($_POST['modife'])) { $nameprod = htmlspecialchars($_POST['newprod']); $prixprod = htmlspecialchars($_POST['prodnumb']); $imgprod = htmlspecialchars($_POST['imgprod']); $updateprod = $bdd->prepare('UPDATE boisson SET nom_boisson = ?, prix_boisson = ?, img_boisson = ? WHERE id_boisson = ?'); $updateprod->execute(array($nameprod, $prixprod, $imgprod, $getid)); header('Location: produits.php'); exit; } } else { ?> <style> .boissonmodife {display: none;} </style> <?php } } else { ?> <style> .boissonmodife {display: none;} </style> <?php } ?> <div class="boissonmodife"> <h2>Modifier la boisson</h2> <form method="POST"> <p>Ancien nom : <?= $oldnameboisson; ?></p> <input type="text" name="newprod" placeholder="nom du produit"> <p>Ancien prix : <?= $oldprixboisson; ?></p> <input type="number" name="prodnumb" placeholder="prix du produit" step="0.01"> <p>Ancienne img : <?= $oldpictureboisson; ?></p> <input type="url" name="imgprod" placeholder="url de l'image"> <input type="submit" name="modife"> </form> <br> <a href="produits.php">Retour aux produits</a> </div>
le code pour la suppression :
/* boisson */ if(isset($_GET['id_boisson']) AND !empty($_GET['id_boisson'])) { $getid = $_GET['id_boisson']; $recupProd = $bdd->prepare('SELECT * FROM boisson WHERE id_boisson = ?'); $recupProd->execute(array($getid)); if($recupProd->rowCount() > 0){ $suppProd = $bdd->prepare('DELETE FROM boisson WHERE id_boisson = ?'); $suppProd->execute(array($getid)); header('Location: produits.php'); exit; } else { echo "erreur ! pas de produit"; } } else { echo "erreur ! pas de produit."; }
et le code pour l'ajout :
/* boisson */ if(isset($_POST['valider_boisson'])) { if(!empty(($_POST['newboisson'])) AND !empty($_POST['numboisson'])) { $getprod = htmlspecialchars($_POST['newboisson']); $getprice = $_POST['numboisson']; $getpicture = $_POST['imgboisson']; $insert = $bdd->prepare('INSERT INTO boisson (nom_boisson, prix_boisson, img_boisson) VALUES (?, ?, ?)'); $insert->execute(array($getprod, $getprice, $getpicture)); header('Location: produits.php'); exit; } else { echo "Le produit n'as pas été ajoutez"; } } else { echo "erreur l'action n'as pas pu être effectuer"; }
et il y as la meme chose pour les desserts les plats, les aperitifs
jordane45
Messages postés
38284
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 novembre 2024
4 697
>
anthonyr_25
Messages postés
165
Date d'inscription
mercredi 5 janvier 2022
Statut
Membre
Dernière intervention
6 juillet 2022
11 mars 2022 à 19:06
11 mars 2022 à 19:06
Heuuuuu..... tu m'as bien dit que tu n'avais pas fait différentes tables pour tes produits non ??
Alors que là.. je vois une table BOISSONS .. et que tu me dis avoir la même chose pour les plats et les apéros .....
Donc .... là .. non...
Je ne te viendrai pas en aide tant que tu n'auras pas refais au propre le modèle de ta base ..
Sinon on va faire une usine à gaz .. et ça va être laborieux à mettre en place vu ton niveau de connaissances.
Bon courage.
Reviens une fois le ménage fait si tu veux mon aide.
Alors que là.. je vois une table BOISSONS .. et que tu me dis avoir la même chose pour les plats et les apéros .....
Donc .... là .. non...
Je ne te viendrai pas en aide tant que tu n'auras pas refais au propre le modèle de ta base ..
Sinon on va faire une usine à gaz .. et ça va être laborieux à mettre en place vu ton niveau de connaissances.
Bon courage.
Reviens une fois le ménage fait si tu veux mon aide.
anthonyr_25
Messages postés
165
Date d'inscription
mercredi 5 janvier 2022
Statut
Membre
Dernière intervention
6 juillet 2022
6
11 mars 2022 à 19:21
11 mars 2022 à 19:21
J'ai peut être mal compris alors ^^ j'ai fait une table pour tout mes aperitifs, une table pour tout mes plâts une table pour tout mes désserts et une table pour toutes mes boissons tu voudrais que je fasse :
- une table produits
- une table prix
- une table images
c'est sa ?
- une table produits
- une table prix
- une table images
c'est sa ?
jordane45
Messages postés
38284
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 novembre 2024
4 697
11 mars 2022 à 19:46
11 mars 2022 à 19:46
Est-ce qu'il y a possiblement plusieurs prix pour un produit ?
Si oui, il faut bien une table prix si c'est non tu peux directement stocker le prix dans la table produit.
C'est quoi le but final de ce site ?
Un restaurant ?
Une gestion de menus ?
Un produit peut-il être dans différents menus ?
Les prix concerne les produits et oi les menus ?
Tu peux avoir plusieurs images pour un seul produit ?
Voici a minima les questions que tu devrais te poser afin de concevoir correctement la structure de ta base de données...
Car on ne commence à coder qu'une fois qu'on a eu cette réflexion....
Si oui, il faut bien une table prix si c'est non tu peux directement stocker le prix dans la table produit.
C'est quoi le but final de ce site ?
Un restaurant ?
Une gestion de menus ?
Un produit peut-il être dans différents menus ?
Les prix concerne les produits et oi les menus ?
Tu peux avoir plusieurs images pour un seul produit ?
Voici a minima les questions que tu devrais te poser afin de concevoir correctement la structure de ta base de données...
Car on ne commence à coder qu'une fois qu'on a eu cette réflexion....
anthonyr_25
Messages postés
165
Date d'inscription
mercredi 5 janvier 2022
Statut
Membre
Dernière intervention
6 juillet 2022
6
>
jordane45
Messages postés
38284
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 novembre 2024
11 mars 2022 à 19:55
11 mars 2022 à 19:55
d'accord bon je vais refaire tout sa en revanche je ne sais pas si j'aurrais finni se soir ...
Je me pencherai sur mon problème d'origine demain haha je vais déjà régler les problèmes éxistants ^^
Je me pencherai sur mon problème d'origine demain haha je vais déjà régler les problèmes éxistants ^^
jordane45
Messages postés
38284
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 novembre 2024
4 697
Modifié le 12 mars 2022 à 20:42
Modifié le 12 mars 2022 à 20:42
Je vais t'aider un peu niveau code...
Déjà, un fichier de connexion à la bdd et qui contient les fonctions utiles pour faire les requêtes SQL
Ensuite, pour chacune de tes tables tu pourras faire un fichier contenant une class du genre
Et pour pouvoir les utiliser, il faut require les deux fichiers puis instancer la class produits
Par exemple
Déjà, un fichier de connexion à la bdd et qui contient les fonctions utiles pour faire les requêtes SQL
<?php /** * class db.class.php * Pour l'instancier : $objet = new db(); ------------------------------------------------------ METHODES ------------------------------------------------------ Syntaxe : lafonctiopn($sql,$datas) -> $sql : string contenant la requête à executer -> $datas : variables (dans un array associatif) à passer à la requête Liste des méthodes : db_All() -> retourne un Array contenant TOUTES les lignes du résultat de la requête db_One() -> retourne un Array contenant LA PREMIERRE ligne du résultat de la requête db_Insert -> retourne l' ID nouvellement créé par une requête INSERT db_Exec() -> Pour les requêtes DELETE / UPDATE : retourne le nombre de lignes impactées */ class db { // Ne pas toucher private $bdd = null; private $prepare = NULL; private $rowCount = 0; private $res = NULL; //A adapter à ta bdd private $host = "localhost"; private $user = "LeUSerPourLaBdd"; private $pwd = "leMotDePasse"; private $dbname = "NomDeTaBdd"; private $port = "3306"; private $charset = "utf8"; /** Constructeur */ function __construct (){ $this->cnx (); } /** * connexion à la BDD */ private function cnx (){ $dsn = 'mysql:host=' . $this->host . ';dbname=' . $this->dbname . ';charset=' . $this->charset . ';port=' . $this->port; try { $bdd = new PDO ( $dsn, $this->user, $this->pwd ); // Activation des erreurs PDO $bdd->setAttribute ( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); // mode de fetch par défaut : FETCH_ASSOC / FETCH_OBJ / FETCH_BOTH $bdd->setAttribute ( PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC ); } catch ( PDOException $e ) { echo "<br>dsn : $dsn"; die ( 'Erreur : ' . $e->getMessage () ); } $this->bdd = $bdd; } /** * Execute une requête SQL */ private function dbQuery ( $sql, $datas = NULL ) { try { $this->prepare = $this->bdd->prepare ( $sql ); $this->res = $this->prepare->execute ( $datas ); $this->rowCount = $this->prepare->rowCount (); } catch ( Exception $e ) { // en cas d'erreur : echo "<br><b>Erreur ! " . $e->getMessage () . "</b>" . PHP_EOL; echo "<pre> La requete :" . $sql . "</pre>" . PHP_EOL; echo " <pre>Les datas : " . PHP_EOL; print_r ( $datas ); echo "</pre>" . PHP_EOL; } } public function db_All ( $sql, $datas = NULL ) { $this->dbQuery ( $sql, $datas ); return $this->prepare->fetchAll (); } public function db_One ( $sql, $datas = NULL ) { try { $this->dbQuery ( $sql, $datas ); return $this->prepare->fetch (); } catch ( Exception $e ) { echo "Erreur " . $e->getMessage (); echo "<br> SQL :" . $sql; echo "<br> datas :" . print_r ( $datas, true ); } } public function db_Insert ( $sql, $datas = NULL, $returnId = TRUE ) { $this->dbQuery ( $sql, $datas ); return $returnId ? $this->bdd->lastInsertId () : $this->res; } public function db_Exec ( $sql, $datas = NULL ) { $this->dbQuery ( $sql, $datas ); return array('$this->tbl' => $this->res, 'rowCount' => $this->rowCount); } } ?>
Ensuite, pour chacune de tes tables tu pourras faire un fichier contenant une class du genre
<?php /** class produits.class.php */ class produits extends db{ private $tbl = "produits"; // nom de la table principale concernée par cette class function __construct(){ parent::__construct(); } //retourne la liste de tous les produits présents dans la table public function getAllProducts(){ $sql = "SELECT * FROM " . $this->tbl; return $this->db_All($sql); } // retoure un produit en fonction de son id public function getProductById($id){ $sql = "SELECT * FROM " . $this->tbl . " WHERE id=:id "; $datas = [':id'=>$id]; return $this->db_One($sql,$datas); } //permet d'insérer un nouveau produit dans la table // NB: Si tu comptes avoir plusieurs images par produit.. il faudra retirer la colonne de cette table et créer une table // spécifiquement pour gérer les produit => image_produit ( #id, #id_produit, image ) public function ajouter($nom,$prix, $image ,$description="",$id_categorie="1"){ $sql = " INSERT INTO " . $this->tbl . " (nom,prix,image,description,id_categorie) VALUES (:nom,:prix,:image,:description,:id_categorie) "; $datas = [':nom'=>$nom, ':prix' => $prix,':image'=>$image ,':description' => $description,':id_categorie'=>$id_categorie]; return $this->db_Insert($sql,$datas); } public function modifier($id,$nom,$prix, $image ,$description="",$id_categorie=1){ $sql = " UPDATE " . $this->tbl . " SET nom = :nom ,prix = :prix ,image = :image ,description = :description id_categorie = :id_categorie WHERE id=:id"; $datas = [':nom'=>$nom, ':prix' => $prix,':image'=>$image ,':description' => $description,':id_categorie'=>$id_categorie, ':id'=>$id]; return $this->db_Exec($sql,$datas); } }
Et pour pouvoir les utiliser, il faut require les deux fichiers puis instancer la class produits
Par exemple
<?php require_once "db.class.php"; require_once "produits.class.php"; //on instancie l'objet produits $oProduit = new produits(); // on créé un nouveau produit $idNouveauProduit = $oProduit->ajouter("Pizza 4 fromages","9.50","/image/pizza4f.jpeg","Pizza avec 4 frommages.. ementale, chèvre...",2); //on modifie le produit.. $oProduit->modifier($idNouveauProduit,'Pizza ChèvreMiel', 15.88,"autreimage.jpeg","c'est bon le chèvre..",2);
jordane45
Messages postés
38284
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 novembre 2024
4 697
Modifié le 12 mars 2022 à 20:39
Modifié le 12 mars 2022 à 20:39
Tu n'as pas répondu à mes diverses questions...
mais on pourrait imaginer une structure de ce genre
ce qui donne, niveau sql, un truc du style
mais on pourrait imaginer une structure de ce genre
ce qui donne, niveau sql, un truc du style
-- --- -- Table 'produits' -- -- --- DROP TABLE IF EXISTS `produits`; CREATE TABLE `produits` ( `id` INTEGER NOT NULL AUTO_INCREMENT DEFAULT NULL, `nom` VARCHAR(256) NULL DEFAULT NULL, `image` VARCHAR(2048) NULL DEFAULT NULL, `description` MEDIUMTEXT NULL DEFAULT NULL, `id_categorie` TINYINT NULL DEFAULT NULL, PRIMARY KEY (`id`) ); -- --- -- Table 'categories' -- type de produit ( dessert, plat, boisson..) -- --- DROP TABLE IF EXISTS `categories`; CREATE TABLE `categories` ( `id` INTEGER NULL AUTO_INCREMENT DEFAULT NULL, `libelle` VARCHAR(256) NULL DEFAULT NULL COMMENT 'boisson,plat,dessert...', PRIMARY KEY (`id`) ) COMMENT 'type de produit ( dessert, plat, boisson..)'; -- --- -- Table 'carousel' -- -- --- DROP TABLE IF EXISTS `carousel`; CREATE TABLE `carousel` ( `id` INTEGER NOT NULL AUTO_INCREMENT DEFAULT NULL, `id_produit` INTEGER NULL DEFAULT NULL, PRIMARY KEY (`id`) ); -- --- -- Table 'menus' -- -- --- DROP TABLE IF EXISTS `menus`; CREATE TABLE `menus` ( `id` INTEGER NOT NULL AUTO_INCREMENT DEFAULT NULL, `nom` VARCHAR(256) NULL DEFAULT NULL COMMENT 'Nom du menu', `prix` DECIMAL(10,2) NULL DEFAULT 0 COMMENT 'Prix du menu', PRIMARY KEY (`id`) ); -- --- -- Table 'menu_produits' -- un menu contient 1 ou plusieurs produits -- --- DROP TABLE IF EXISTS `menu_produits`; CREATE TABLE `menu_produits` ( `id` INTEGER NULL AUTO_INCREMENT DEFAULT NULL, `id_menu` INTEGER NULL DEFAULT NULL, `id_produit` INTEGER NULL DEFAULT NULL, PRIMARY KEY (`id`) ) COMMENT 'un menu contient 1 ou plusieurs produits'; -- --- -- Foreign Keys -- --- ALTER TABLE `produits` ADD FOREIGN KEY (id) REFERENCES `carousel` (`id`); ALTER TABLE `produits` ADD FOREIGN KEY (id_categorie) REFERENCES `categories` (`id`); ALTER TABLE `menu_produits` ADD FOREIGN KEY (id_menu) REFERENCES `menus` (`id`); ALTER TABLE `menu_produits` ADD FOREIGN KEY (id_produit) REFERENCES `produits` (`id`);
jordane45
Messages postés
38284
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 novembre 2024
4 697
>
jordane45
Messages postés
38284
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 novembre 2024
13 mars 2022 à 20:11
13 mars 2022 à 20:11
Petite correction de la base de données
-- -------------------------------------------------------- -- Hôte : localhost -- Version du serveur: 5.7.24 - MySQL Community Server (GPL) -- SE du serveur: Win64 -- HeidiSQL Version: 10.2.0.5599 -- -------------------------------------------------------- /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET NAMES utf8 */; /*!50503 SET NAMES utf8mb4 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; -- Listage de la structure de la table resto. carousel DROP TABLE IF EXISTS `carousel`; CREATE TABLE IF NOT EXISTS `carousel` ( `id` int(11) NOT NULL AUTO_INCREMENT, `id_produit` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Listage des données de la table resto.carousel : ~0 rows (environ) DELETE FROM `carousel`; /*!40000 ALTER TABLE `carousel` DISABLE KEYS */; /*!40000 ALTER TABLE `carousel` ENABLE KEYS */; -- Listage de la structure de la table resto. categories DROP TABLE IF EXISTS `categories`; CREATE TABLE IF NOT EXISTS `categories` ( `id` int(11) NOT NULL AUTO_INCREMENT, `libelle` varchar(256) DEFAULT NULL COMMENT 'boisson,plat,dessert...', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COMMENT='type de produit ( dessert, plat, boisson..)'; -- Listage des données de la table resto.categories : ~2 rows (environ) DELETE FROM `categories`; /*!40000 ALTER TABLE `categories` DISABLE KEYS */; INSERT INTO `categories` (`id`, `libelle`) VALUES (1, 'Boissons'), (2, 'Plats'), (3, 'Dessert'); /*!40000 ALTER TABLE `categories` ENABLE KEYS */; -- Listage de la structure de la table resto. menus DROP TABLE IF EXISTS `menus`; CREATE TABLE IF NOT EXISTS `menus` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nom` varchar(256) DEFAULT NULL COMMENT 'Nom du menu', `prix` decimal(10,2) DEFAULT '0.00' COMMENT 'Prix du menu', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; -- Listage des données de la table resto.menus : ~0 rows (environ) DELETE FROM `menus`; /*!40000 ALTER TABLE `menus` DISABLE KEYS */; INSERT INTO `menus` (`id`, `nom`, `prix`) VALUES (1, 'Plat + Dessert', 12.50); /*!40000 ALTER TABLE `menus` ENABLE KEYS */; -- Listage de la structure de la table resto. menu_produits DROP TABLE IF EXISTS `menu_produits`; CREATE TABLE IF NOT EXISTS `menu_produits` ( `id` int(11) NOT NULL AUTO_INCREMENT, `id_menu` int(11) DEFAULT NULL, `id_produit` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='un menu contient 1 ou plusieurs produits'; -- Listage des données de la table resto.menu_produits : ~0 rows (environ) DELETE FROM `menu_produits`; /*!40000 ALTER TABLE `menu_produits` DISABLE KEYS */; INSERT INTO `menu_produits` (`id`, `id_menu`, `id_produit`) VALUES (1, 1, 1), (2, 1, 2); /*!40000 ALTER TABLE `menu_produits` ENABLE KEYS */; -- Listage de la structure de la table resto. produits DROP TABLE IF EXISTS `produits`; CREATE TABLE IF NOT EXISTS `produits` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nom` varchar(256) DEFAULT NULL, `image` varchar(2048) DEFAULT NULL, `prix` decimal(10,2) DEFAULT NULL, `description` mediumtext, `id_categorie` tinyint(4) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; -- Listage des données de la table resto.produits : ~0 rows (environ) DELETE FROM `produits`; /*!40000 ALTER TABLE `produits` DISABLE KEYS */; INSERT INTO `produits` (`id`, `nom`, `image`, `prix`, `description`, `id_categorie`) VALUES (1, 'pizza', '', 10.00, '', 2), (4, 'cocal', NULL, 1.00, 'du gaz..', 1); /*!40000 ALTER TABLE `produits` ENABLE KEYS */; /*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */; /*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
11 mars 2022 à 15:58
Voici mon code corrigé mais qui n'éxécute toujours pas ce que je souhaite..
11 mars 2022 à 16:08
Le fichier dans lequel tu as mis ce code, se trouve-t-il au même niveau que tes autres script qui utilisent les URL de tes produits ?
Modifié le 11 mars 2022 à 16:55
par exemple au lieu de :
- 15, 4, 4, 16, 1
avoir :
- ?, ?, ?, ?, ?
et ses points d'intérogations peuvent être modifier depuis le backoffice
11 mars 2022 à 17:57
Tu créés une table pour stocker les ID des images que tu veux afficher dans ton slider
Puis tu iras chercher, dans la page que tu viens de nous montrer, cette liste d'id pour t'en servir ensuite dans tes requêtes..
11 mars 2022 à 17:59
img_produit , img_boisson ....
A la place .. il faut UNE SEULE Table ... images_produits
Et dedans, stocker chaque image.. peut importe que ça soit une boisson, un dessert, une entrée...