Afficher les détails d'un produit
Résolu
persepolis7
Messages postés
61
Statut
Membre
-
persepolis7 Messages postés 61 Statut Membre -
persepolis7 Messages postés 61 Statut Membre -
Bonjour,
j'ai une page de listing par catégorie fonctionnelle.
Je voudrais qu'à la suite d'un clic sur le titre d'un article par exemple, je sois redirectionné vers une page detailsProduit.php par exemple, qui affichera donc des informations supplémentaire sur le produit comme une description.
listing.php :
listing.phtml :
detailsProduit.php :
detailsProduit.phtml :
j'ai une page de listing par catégorie fonctionnelle.
Je voudrais qu'à la suite d'un clic sur le titre d'un article par exemple, je sois redirectionné vers une page detailsProduit.php par exemple, qui affichera donc des informations supplémentaire sur le produit comme une description.
listing.php :
<?php
session_start();
include "db.php";
$rq_categorie = $bdd->prepare("SELECT * FROM produit
INNER JOIN vendeur
ON produit.IdVendeur = vendeur.Id
WHERE produit.categorie = ?");
$rq_categorie->execute(array($_POST['categorie']));
$listingCategorie = $rq_categorie->fetchAll();
listing.phtml :
<?php foreach($listingCategorie as $liste): ?>
<article>
<a href="detailsProduit.php"><h4><?=$liste['nomProduit']; ?></h4></a>
</article>
<?php endforeach; ?>
detailsProduit.php :
<?php
session_start();
include "db.php";
// $rq_detailsProduit = $bdd->prepare(" ");
// $rq_detailsProduit->execute(array( ));
// $detailsProduit = $rq_detailsProduit->fetchAll();
include "detailsProduit.phtml";
detailsProduit.phtml :
<?php foreach($detailsProduit as $details): ?>
<article>
<a href="#"><h4><?=$details['nomProduit']; ?></h4></a>
<p><?=$details['descriptionProduit']; ?></p>
</article>
<?php endforeach; ?>
3 réponses
-
<a href="../controllers/product_details.php?Id=<?=$list['Id'];?>"><p><?=$list['firstNameSeller']; ?><?=$list['lastNameSeller']; ?></p></a>
_____________________________________________
if(isset($_GET['Id']) AND !empty($_GET['Id'])){
// SELECT * FROM product WHERE Id = ?
// ($_GET['Id'])
}
c'était pas compliqué mais merci internet ! -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour, tu me sembles partie dans la bonne direction, tout fonctionne comme tu le souhaites?
sinon, n'hésite pas à partager des faits: messages d'erreur, source des pages html affichées (à obtenir dans le navigateur), ...
si ton code php ne fait pas ce que tu souhaites, il est souvent utile d'y ajouter des instructions comme echo, pour que le code visualise ce qui se passe.-
bah justement j'ai pas de messages d'erreurs et je n'arrive pas à afficher les informations supplémentaire du produit sur la page detailsProduit.phtml
- brarh, pour commencer, peux-tu partager le code source affiché par tes deux pages? comme je t'ai déjà expliqué, ceci est à obtenir dans le navigateur. si tu ne connais pas encore cette technique, merci de nous préciser quel navigateur tu utilises.
bkakh, fais-tu cela dans le contexte d'un exercice scolaire?
-
Bonjour,
non je fais ça personnellement.
Sur 4 pages ça va faire beaucoup de contenu pas très utile je parle du code phtml, comme je l'ai dit je ne cherche pas une erreur, puisque mon code fonctionne, je cherche comment appliquer ce que je veux faire, afficher le produit en details sur une nouvelle page j'ai déjà la page de listing (je remplis mes pages petit à petit certaine sections n'ont pas de contenu pour l'instant) :
Page d'affichage du produit en détail :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>PRODUCT DETAILS</title>
<!-- FONTAWESOME -->
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.0/css/all.css" integrity="sha384-lKuwvrZot6UHsBSfcMvOkWwlCMgc0TaWr+30HWe3a4ltaBwTZhyTEggF5tJv8tbt" crossorigin="anonymous">
<!-- CSS -->
<link rel="stylesheet" href="../css/normalize.css">
<link rel="stylesheet" href="../css/style.css">
<link href="https://fonts.googleapis.com/css?family=Holtwood+One+SC" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Inknut+Antiqua" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Bungee+Inline" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Bungee" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Bungee+Shade" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Amiri" rel="stylesheet">
<!-- JS -->
<script src="../js/block.js"></script>
<script src="../js/anime.js"></script>
<script src="../js/jquery-flex.js"></script>
<script src="../js/secure_forms.js"></script>
<!-- AJAX -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<body>
<header>
<div id="authentification">
<div>
<form method="POST" action="../controllers/listing_product_category.php" >
<select type="text" name="drop_down_category">
<option value="Developement">Developement</option>
<option value="Marketing">Marketing</option>
<option value="Design">Design</option>
<option value="Sport">Sport</option>
<option value="Language">Language</option>
<option value="Music">Music</option>
<!-- ++ -->
</select>
<input type="text" name="search_bar" id="search_bar" placeholder="Search..." onkeypress="block(event);">
<input type="submit" name="submit_search" value="search" id="submit_search">
</form>
</div>
<div>
<a href="signup.phtml" id="signup">Sign-up</a>
<a href="login.phtml" id="login">Log-in</a>
</div>
</div>
<div id="background_header">
<a href="#">...</a>
</div>
</header>
<main>
<section id="productDetails">
<article>
<p>details</p>
</article>
</section>
</main>
<footer>
<div>
<ul>
<li class="liFoot">...</li>
<li><a href="#"><i class="fab fa-facebook-square"></i></a></li>
<li><a href="#"><i class="fab fa-twitter"></i></a></li>
<li><a href="#"><i class="fab fa-instagram"></i></a></li>
</ul>
<ul>
<li class="liFoot">...</li>
<li><a href="#">Log-in</a></li>
<li><a href="#">Sign-up</a></li>
<!-- ajouter log out -->
</ul>
<ul>
<li class="liFoot">...</li>
<li><a href="#">Log-in</a></li>
<li><a href="#">Sign-up</a></li>
</ul>
</div>
<p><a href="#">...</a>...</p>
</footer>
</body>
</html>
Page de listing des produits par catégorie ou recherche :<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"/> <title>CATEGORY</title> <!-- FONTAWESOME --> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.0/css/all.css" integrity="sha384-lKuwvrZot6UHsBSfcMvOkWwlCMgc0TaWr+30HWe3a4ltaBwTZhyTEggF5tJv8tbt" crossorigin="anonymous"> <!-- CSS --> <link rel="stylesheet" href="../css/normalize.css"> <link rel="stylesheet" href="../css/style.css"> <link href="https://fonts.googleapis.com/css?family=Holtwood+One+SC" rel="stylesheet"> <link href="https://fonts.googleapis.com/css?family=Inknut+Antiqua" rel="stylesheet"> <link href="https://fonts.googleapis.com/css?family=Bungee+Inline" rel="stylesheet"> <link href="https://fonts.googleapis.com/css?family=Bungee" rel="stylesheet"> <link href="https://fonts.googleapis.com/css?family=Bungee+Shade" rel="stylesheet"> <link href="https://fonts.googleapis.com/css?family=Amiri" rel="stylesheet"> <!-- JS --> <script src="../js/block.js"></script> <script src="../js/anime.js"></script> <script src="../js/jquery-flex.js"></script> <script src="../js/secure_forms.js"></script> <!-- AJAX --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> </head> <body> <header> <div id="authentification"> <div> <form method="POST" action="../controllers/listing_product_category.php" > <select type="text" name="drop_down_category"> <option value="Developement">Developement</option> <option value="Marketing">Marketing</option> <option value="Design">Design</option> <option value="Sport">Sport</option> <option value="Language">Language</option> <option value="Music">Music</option> <!-- ++ --> </select> <input type="text" name="search_bar" id="search_bar" placeholder="Search..." onkeypress="block(event);"> <input type="submit" name="submit_search" value="search" id="submit_search"> </form> </div> <div> <a href="signup.phtml" id="signup">Sign-up</a> <a href="login.phtml" id="login">Log-in</a> </div> </div> <div id="background_header"> <a href="#"><h1>...</h1></a> </div> </header> <main> <section id="preview"> <?php foreach($listing as $list): ?> <a href="#"><h2><?=$list['category']; ?></h2></a> <div> <article> <[/contents/391-fichier-img img] src="<?=$list['imageMiniature']; ?>"> <a href="../controllers/product_details.php"><h4><?=$list['productName']; ?></h4></a> <p><?=$list['productPrice']; ?> $</p> <a href="../controllers/product_details.php"><p><?=$list['firstNameSeller']; ?><?=$list['lastNameSeller']; ?></p></a> <img src="<?=$list['sellerPP']; ?>"> </article> </div> <?php endforeach; ?> </section> </main> <footer> <div> <ul> <li class="liFoot">...</li> <li><a href="#"><i class="fab fa-facebook-square"></i></a></li> <li><a href="#"><i class="fab fa-twitter"></i></a></li> <li><a href="#"><i class="fab fa-instagram"></i></a></li> </ul> <ul> <li class="liFoot">...</li> <li><a href="#">Log-in</a></li> <li><a href="#">Sign-up</a></li> <!-- ajouter log out --> </ul> <ul> <li class="liFoot">...</li> <li><a href="#">Log-in</a></li> <li><a href="#">Sign-up</a></li> </ul> </div> <p><a href="#">...</a>...</p> </footer> </body> </html>
Page d'affichage du produit en détails en php<?php session_start(); include "db.php"; include "secure_forms.php"; // .............. ? include "../templates/product_details.phtml";
Page de listing en php<?php session_start(); include "db.php"; include "secure_forms.php"; // explode $category = ['Developement','Marketing','Design','Sport','Language','Music']; if(isset($_POST['drop_down_category']) AND in_array($_POST['drop_down_category'], $category)){ var_dump($_POST['drop_down_category']); $rq_category = $database->prepare("SELECT * FROM product INNER JOIN seller ON product.IdSeller = seller.Id INNER JOIN miniature_product ON miniature_product.categoryMiniature = product.category WHERE product.category = ?"); $rq_category->execute(array($_POST['drop_down_category'])); $listing = $rq_category->fetchAll(); }else if(isset($_POST['search_bar'])){ var_dump($_POST['search_bar']); $searchValue = $_POST['search_bar']; $rq_category = $database->prepare("SELECT * FROM product INNER JOIN seller ON product.IdSeller = seller.Id INNER JOIN miniature_product ON miniature_product.categoryMiniature = product.category WHERE product.category LIKE ? OR product.productDescription LIKE ? OR product.productName LIKE ?"); $rq_category->execute(array("%".$searchValue."%", "%".$searchValue."%", "%".$searchValue."%")); $listing = $rq_category->fetchAll(); } include "../templates/listing_product_category.phtml";
-
-
C'est bon j'ai trouvée comment faire, merci quand même :)