Bonjour,
Voilà ce que je veux faire :
J'ai une page qui affiche des articles, comme une fiche ecommerce.
Le nom du produit, une description, un prix et un bouton details pour aller sur une page single.php qui affiche le produit en entier.
Je passe l'id dans l'url via le bouton details, je souhaiterais que dans ma page single.php s'affiche le produit que j'ai selectionné.
mon code de la page index.php :
<?php
require 'admin/bdd.php';
// On récupère tout le contenu
$reponse = $bdd->prepare('SELECT * FROM produits');
//on exécute la requête
$reponse->execute();
// On affiche chaque entrée une à une
$donnees = $reponse->fetchAll();
foreach ($donnees as $donnee):
$extrait = substr($donnee['description'], 0,100);
?>
<div class="col-lg-3 col-md-6 mb-4">
<div class="card h-100">
<?php echo '<img class="card-img-top img-fluid" src="img/' . $donnee["image"] . '">'; ?>
<div class="card-block">
<h4 class="card-title"><?php echo $donnee['produit']; ?></h4>
<h5>Prix Junior : <?php echo $donnee['prixJu']; ?>€</h5><h5>Prix Adulte : <?php echo $donnee['prixAd']; ?>€</h5>
<p class="card-text"><h5><?php echo $extrait; ?></h5></p>
<a class="btn btn-primary btn-lg active" href="single.php?produit=<?php echo $donnee['id'] ?>" >Détails</a>
</div>
<div class="card-footer">
<small class="text-muted">★ ★ ★ ★ ☆</small>
</div>
</div>
</div>
<?php endforeach; // Termine le traitement de la requête ?>
Ce que n'arrive pas à faire est de récupérer les données de ma base en fonction de l'id passé dans l'url, car quand je clique quelque soit le bouton détails des différents produits l'affiche est le même ?
mon code de ma page single :
<?php
require 'admin/bdd.php';
// On récupère tout le contenu
$reponse = $bdd->prepare('SELECT * FROM produits');
$reponse->execute();
$donnees = $reponse->fetch();
?>
<div class="col-lg-6">
<div class="img">
<?php echo '<img class="card-img-top img-fluid" src="img/' . $donnees["image"] . '">'; ?>
</div>
</div>
<div class="col-lg-6">
<div class="sidebar">
<div class="description">
<h1><?php echo $donnees['produit']; ?></h1>
<p><?php echo $donnees['description']; ?></p>
<div class="prix">
<h2>PVC JR : <span><?php echo $donnees['prixJu']; ?>€</span>- PVC AD : <span><?php echo $donnees['prixAd']; ?>€</span></h2>
</div>
</div>
<form id="formulaire" method="post" action="traitement.php">
<div class="selectTaille">
<div class="choixquantite">
<h4>Quantité</h4>
<select id="pantaM_q" class="qtt" name="pantaM_q">
<option>Choisir</option>
<option value=0>0</option>
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
</select>
</div>
<div class="choixtaille">
<h4>Taille</h4>
<select class="taille" name="pantaM_t">
<option>Choisir</option>
<option value="S">S</option>
<option value="M">M</option>
<option value="L">L</option>
<option value="XL">XL</option>
<option value="XXL">XXL</option>
<option value="3XL">3XL</option>
</select>
</div>
</div>
</form>
</div>
</div>
merci
Bonsoir,
Il suffit de récupérer l'id du produit par un $_GET['produit'] sur la page single.php et de faire la requête qui va bien.
C'est un peu le b-a-ba du php....
$id_produit = $_GET['produit']
c'est pourtant simple et pour la requête, je vous laisse chercher.
Je vous invites à revoir les bases du php et de pdo avant de vous lancer dans un site e-commerce. Car si vous ne connaissez pas les bases, vous allez vite être perdu par la suite.