Url Configurer
Création de page avec URL Paramétrée
Création et accès à la page produits (3/3)
Vous allez récrire l’application Lafleur , initialement écrite enPHP, en javascript.
1 - modification du contrôleur
Lorsque l’utilisateur clic sur le lien l’URL est composée de /voirProduitIdcategorie. Il faut donc retrouver cette information.
En suivant le détail de l’
URL
vous comprendrez comment récupérer l’Idcategorie.
Vous allez modifier l’action voir produit dans le contrôleur après l’action voirCategories, de façon à charger les données en fonction du modèle.
voirProduit:async (req, res) => {
// Récupération du code renvoyé dans l'URL
const num=req.params.num;
// Récupération des catégorie, car vous allez rappeler la vue categorie
const lesCategories=await db.getLesCategories();
// Récupération des produits en fonction de la catégorie (passée en paramètre dans l'URL)
const getLesProduitsDeCategorie=await db.getLesProduitsDeCategorie(num);
// Affichage de la vue Produit avec les paramètres
res.render('produits',{
lesCategories:lesCategories,
lesProduits:getLesProduitsDeCategorie,
categorie:num
});
}
Attention
N’oubliez pas la virgule à la fin de voirCategorie !!!
La virgule à la fin n’a aucun impact en dehors d’éviter de l’oublier si vous rajoutez une action.
2 - modification du modèle
Dans le modèle, le fichier dbConnexion, vous allez créer une requête paramétrée,
getLesProduitsDeCategorie:async (param=[]) => {
try {
return await new Promise((resolve, reject) => {
// création de la requête paramétrée
const sql = 'select * FROM produit WHERE idCategorie =?';
db.query(sql, param,(err, result) => {
if (err) throw reject(new Error(err.message));
//Exécution de la requête s'il n'y a pas d'erreurs
resolve(result)
})
});
} catch (error) {
console.log(error);
}
}
Attention
N’oubliez pas la virgule à la fin de getLesCategories !!!
La virgule à la fin n’a aucun impact en dehors d’éviter de l’oublier si vous rajoutez une action.