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.