Afficher les détails d'un produit

Résolu/Fermé
persepolis7 Messages postés 58 Date d'inscription mercredi 10 janvier 2018 Statut Membre Dernière intervention 16 janvier 2019 - Modifié le 25 sept. 2018 à 17:43
persepolis7 Messages postés 58 Date d'inscription mercredi 10 janvier 2018 Statut Membre Dernière intervention 16 janvier 2019 - 26 sept. 2018 à 18:05
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 :
<?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

persepolis7 Messages postés 58 Date d'inscription mercredi 10 janvier 2018 Statut Membre Dernière intervention 16 janvier 2019 1
26 sept. 2018 à 18:05
<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 !
1
yg_be Messages postés 22692 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 avril 2024 1 471
25 sept. 2018 à 19:09
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.
0
persepolis7 Messages postés 58 Date d'inscription mercredi 10 janvier 2018 Statut Membre Dernière intervention 16 janvier 2019 1
25 sept. 2018 à 19:48
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
0
yg_be Messages postés 22692 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 avril 2024 1 471 > persepolis7 Messages postés 58 Date d'inscription mercredi 10 janvier 2018 Statut Membre Dernière intervention 16 janvier 2019
25 sept. 2018 à 20:58
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?
0
persepolis7 Messages postés 58 Date d'inscription mercredi 10 janvier 2018 Statut Membre Dernière intervention 16 janvier 2019 1
Modifié le 26 sept. 2018 à 16:52
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";
0
persepolis7 Messages postés 58 Date d'inscription mercredi 10 janvier 2018 Statut Membre Dernière intervention 16 janvier 2019 1
26 sept. 2018 à 17:58
C'est bon j'ai trouvée comment faire, merci quand même :)
0