8768 sujets

Développement web côté serveur, CMS

Bonjour,

J'ai dernièrement créée une page categorie.php et une page panier.php lorsque je sélectionne un produit avec un bouton, je sélectionne le/les produit(s). J'ai utilisée $_SESSION j'arrive bien à récupérer les valeurs sélectionner avec un var_dump['panier']. Jusque là tout vas bien.

Et maintenant, je bloque pour mettre en forme les valeurs du var_dump afin de le stylisé en html

Je vous remercie par avance de vos réponses. Smiley smile
Modifié par 404 (26 May 2020 - 13:22)
Bonjour,
as-tu un bout de code à nous montrer et une maquette ou un croquis de la mise en forme que tu souhaites faire?
Oui évidemment je ne savais pas comment aborder ma problèmatique

Voici le code pour categorie.php


<?php 
  include('header.php');
  
  session_start();
 
 //$_SESSION['panier'] = array();

  if(isset($_POST['ajouter'])){
    if(!isset ($_SESSION['panier'])){
      $_SESSION['panier'] = array();
     
    }
    array_push($_SESSION['panier'], $_POST['art']);
    
  }

    var_dump($_SESSION['panier']);
    
echo '<form method="POST"  action="">';
            echo '<input type="hidden" name="art" value="' . $item["id"] . '">';
            echo '<button type="submit" class="btn btn-success" name="ajouter" "> Ajouter </button>';
            echo '</form>';
            echo '</div>';
            


Et j'aimerais rappelais chaque éléments en php
Code du panier.php

<div class="form-row row-1">
      <div class="form-group col-md-2">
             <img src="img/muguet.jpg" class="img-form img-thumbnail" alt="le muguet">
        </div>
          <div class="form-group col-md-5">
                 <input type="text" class="form-control" id="nom" value="Le muguet">
           </div>
           <div class="form-group col-md-1">
                 <input type="number" class="form-control cl-qte" id="qte1" value="2" min="0">
             </div>
             <div class="form-group col-md-2">
                <input type="text" class="form-control cl-prix" id="prix1" value="58.00">
              </div>
              <div class="form-group col-md-2">
                <a href="#" class="btn btn-danger"><i class="far fa-trash-alt"></i></a>
               </div> 
                </div>













?>
Je ne comprends pas spécialement ton approche.
Que contient ton $_SESSION['panier'] exactement?

À priori il ne devrait recevoir que des identifiants de produits et leur quantité.
Pour le reste c'est calculé en PHP et non repris dans un formulaire. Sinon n'importe qui pourrait modifier le prix si tu le renseigne dans un input et que tu te sers de cette valeur pour la suite de ton traitement.

Et concernant la mise en forme de ton panier, as-tu un petit croquis de ce que tu souhaites faire?
Il faut que tu gères cela avec du CSS, le HTML ne fera pas ta mise en forme.
Modifié par Raphi (27 May 2020 - 08:30)
Bonjour,

Excusez moi du retard de réponse

Je vous ai pris une capture d'écran car effectivement j'explique mal l'approche que je souhaiterais atteindre

Je récupère bien l'ID dans le Var_dump, et maintenant j'aimerais afficher l'article ou les articles dans le panier

j'ai donc fait un requête SQL :


require 'admin/database.php';

            if(!empty($_SESSION['panier'])){
              // on extrait les id du caddie
            $id_liste=implode(',',array_keys($_SESSION['panier']));
            }
            
            /*Connection à la database + requête*/
            $db = Database::connect();
            $statement = $db->prepare("SELECT 'image', 'name', 'prix' FROM items WHERE id IN (".$id_liste.")");
            $items = $statement->fetch();


Je tenais à vous remercier pour avoir pris le temps de me lire.
Modifié par 404 (27 May 2020 - 17:25)
Bonjour,

désolé pour ma réponse tardive.
Donc je n'arrive toujours pas à cerner le problème...
Est-ce que tu as réussi à faire ta présentation avec des informations fictives déjà?
Ensuite il n'y a plus qu'à remonter les infos depuis ta base de données en te basant sur les id récupérés.
Puis tu les met en forme.

Est-ce que c'est au niveau du PHP que tu n'arrives pas à remonter les bonnes informations depuis ta base de données ou bien est-ce en terme de présentation visuelle que tu n'arrives pas à présenter les choses comme tu veux, donc au niveau du HTML + CSS?
Modifié par Raphi (02 Jun 2020 - 15:43)