calculer total articles ht panier

calculer total articles ht panier - PHP - Programmation

Marsh Posté le 13-11-2005 à 15:53:17    

Bonjour, je souhaiterai pouvoir calculer le montant total HT des articles contenus dans le panier.
Code du panier:

Code :
  1. <?php
  2. /* variables panier sous la forme :
  3. $_SESSION['panier'][ID article][array(ref=>blabla,designation=>blabla,prixht=>blabla,quantite=>blabla);
  4. */
  5. session_start();
  6. if (isset($_POST['id_art'])) { // si il s'agit de l'ajout d'un article
  7.     $_SESSION['panier'][$_POST['id_art']]['ref'] = $_POST['ref'];
  8.     $_SESSION['panier'][$_POST['id_art']]['designation'] = $_POST['designation'];
  9.     $_SESSION['panier'][$_POST['id_art']]['prixht'] = $_POST['prixht'];
  10.     $_SESSION['panier'][$_POST['id_art']]['quantite'] = $_POST['quantite'];
  11. }
  12. $nb_art=count($_SESSION['panier']); // nombre d'articles dans le panier
  13. if (count($_SESSION['panier']) > 0) { // si le panier n'est pas vide
  14.     echo'
  15.     <style type="text/css">
  16.     <!--
  17.     body,td,th {
  18.      color: #006699;
  19.     }
  20.     body {
  21.      background-image: url(../design/styles/fond.gif);
  22.     }
  23.     -->
  24.     </style>
  25.     <link href="../design/styles/styles.css" rel="stylesheet" type="text/css">
  26.     <table width="100%"  border="1" bordercolor="#FFFFFF" bgcolor="#FFFFFF">
  27.       <tr bordercolor="#BDDFE1" bgcolor="#BDDFE1" class="menugauche">
  28.         <td width="25%">Reference</td>
  29.         <td width="25%" bordercolor="#BDDFE1">Description</td>
  30.         <td width="25%">Prix HT &euro; </td>
  31.         <td width="25%">Quantit&eacute;</td>
  32.       </tr>
  33.     </table>';
  34.    
  35.    
  36.     // affichage du contenu du panier
  37.     for ($i=1;$i <= $nb_art; $i++) { // pour chaque article du panier
  38.         echo '<table width="100%" border="1" bordercolor="#FFFFFF" bgcolor="#FFFFFF" >
  39.           <tr>
  40.             <td width="25%">'.$_SESSION['panier'][$i]['ref'].'</td>
  41.             <td width="25%">'.$_SESSION['panier'][$i]['designation'].'</td>
  42.             <td width="25%">'.$_SESSION['panier'][$i]['prixht'].'</td>
  43.             <td width="25%">'.$_SESSION['panier'][$i]['quantite'].'</td>
  44.           </tr>
  45.         </table>';
  46.     }
  47. } else echo 'Votre panier ne contient aucun article.'; // le client n'a pas d'article dans son panier
  48. ?>
  49. <style type="text/css">
  50. <!--
  51. .Style2 {color: #006699; font-weight: bold; font-size: 12px; font-family: Geneva, Arial, Helvetica, sans-serif; }
  52. -->
  53. </style>
  54.     <p>&nbsp;</p>
  55.     <table width="100%" border="1" bordercolor="#FFFFFF" bgcolor="FFFFFF" >
  56.       <tr>
  57.         <td bgcolor="#FFFFFF"><a href="javascript:history.go(-1)" class="Style2">Poursuivre ma Commande</a></td>
  58.         <td bgcolor="#FFFFFF"><p align="right"><a href="Formulaire1.php" target="_self" class="Style2">Valider ma Commande</a></p>
  59.         </td>
  60.       </tr>
  61.     </table>
  62. <p>&nbsp;</p>


 
Code formulaire ajout articles:

Code :
  1. <table width="100%" border="0" cellpadding="0" cellspacing="0" >
  2.                     <tr>
  3.                       <td>
  4. <?php
  5. session_start();
  6. if (isset($_SESSION['panier'])) { // controle si un article existe deja dans le panier
  7.     $id_art_sel=count($_SESSION['panier'])+1; // numero de l'article qui sera ajouté
  8. } else {$id_art_sel=1;} // si il n'y a pas d'article déjà présent
  9. echo '<form name="form1" method="post" action="http://www.informatiques-consommables.com/commandes/panier.php">
  10. <INPUT type="hidden" name="id_art" value="'.$id_art_sel.'">'; // pour passage de l'id article
  11. ?>
  12.                         <table width="100%"  border="1" bordercolor="#FFFFFF" bgcolor="#FFFFFF">
  13.                           <tr bordercolor="#BDDFE1" bgcolor="#FFFFFF">
  14.                             <td width="14%" class="menugauche"><table width="100%" border="0" cellpadding="0" cellspacing="0" >
  15.                               <tr>
  16.                                 <td><div align="center"><img src="../../design/img/no_photo.gif" width="45" height="45"></div></td>
  17.                               </tr>
  18.                               <tr>
  19.                                 <td><input name="ref" type="text" id="champ1" value="1ALP1" size="8" maxlength="8" onFocus="this.blur()"></td>
  20.                               </tr>
  21.                             </table></td>
  22.                             <td width="51%" class="textes"><textarea name="designation" cols="25" rows="4" id="champ2" onFocus="this.blur()">PACK de 20 lecteurs de
  23. disquettes 3.5 PCE 1.44MB
  24. (coloris : beige)</textarea></td>
  25.                             <td width="14%" class="textes"><input name="prixht" type="text" id="champ3" value="106.46" size="8" maxlength="8" onFocus="this.blur()"></td>
  26.                             <td width="11%" class="textes"><select name="quantite" id="champ4">
  27.                               <option value="0" selected>0</option>
  28.                               <option value="1">1</option>
  29.                               <option value="2">2</option>
  30.                               <option value="3">3</option>
  31.                               <option value="4">4</option>
  32.                               <option value="5">5</option>
  33.                               <option value="6">6</option>
  34.                               <option value="7">7</option>
  35.                               <option value="8">8</option>
  36.                               <option value="9">9</option>
  37.                             </select></td>
  38.                             <td width="10%" class="textes"><div align="right">
  39.                               <input type="submit" value="ajouter">
  40.                             </div></td>
  41.                           </tr>
  42.                         </table>
  43.                       </form></td>
  44.                     </tr>
  45.                   </table>


 
Code session:

Code :
  1. <?php
  2. session_start();
  3. if (isset($_SESSION['panier']['nb_art'])) { // controle si un article existe deja dans le panier
  4. $id_art_sel=$_SESSION['panier']['nb_art']+1; // numero de l'article qui sera ajout‚
  5. } else {$id_art_sel=1;} // si il n'y a pas d'articles d‚j… pr‚sent
  6. echo '<form name="form1" method="post" action="http://www.informatiques-consommables.com/commandes/panier.php">
  7. <INPUT type="hidden" name="id_art" value="'.$id_art_sel.'">'; // pour passage de l'id article
  8. ?>


 
ps: url panier:
http://www.informatiques-consommab [...] panier.php
 
url ajout articles:
http://www.informatiques-consommab [...] 1/alps.php
 
 
merci d'avance pour votre aide

Reply

Marsh Posté le 13-11-2005 à 15:53:17   

Reply

Marsh Posté le 13-11-2005 à 16:34:13    

...Ta question est bien vague ! Une fois les articles choisis, le prix que tu affiche, c'est le montant HT ! Je ne vois pas ou est le problème ? Les articles choisie sont bien dans un panier avec une référence au prix je suppose ? si, oui, récupère les prix associés aux articles (à condition que les liaison les tables soient bien faites) et additionne.....
 
 
Rien avoir avec tout ça ! Si la personne refuse les cookies, tu fais comment pour ton site ? Est-ce que l'on peut quand même prendre des commandes ? dernière chose, je rentre mes données sur une page en HTTP. Est-ce que c'est définitif ou non ? Y aura-til du SSL ?
 
Bonne chance
@+


Message édité par cvb le 13-11-2005 à 16:35:02
Reply

Marsh Posté le 13-11-2005 à 18:48:25    

ce n'est pas definitif, y'aura bien evidement un certificat ssl sur un autre hebergement, en fait je suis debutant et je n'arrive pas a programmer mon bout de code afin d'aditionner la somme ht des articles du panier. Cjuste cela, merci pour ta reponse.

Reply

Marsh Posté le 13-11-2005 à 18:59:29    

ben, t'as une boucle qui les affiche, c'est tellement difficile de faire une addition en même temps ?
 
(puis bonjour l'optimisation, les lignes 13 et 15 du panier sont une belle illustration de redondance d'instruction :))

Reply

Marsh Posté le 13-11-2005 à 19:09:18    

naceroth a écrit :

ben, t'as une boucle qui les affiche, c'est tellement difficile de faire une addition en même temps ?


 
bonjour merci pr ta reponse ms j'ai posté car je me plante a chaque fois, cela ne m'avance donc pas trop..

Reply

Marsh Posté le 13-11-2005 à 19:15:32    

qu'est qui plante ? la boucle ? donne des détails ? ;)
 
@+


Message édité par cvb le 13-11-2005 à 19:15:40
Reply

Marsh Posté le 13-11-2005 à 19:18:30    

donc je suis debutant j'ai ce code et je suis perdu, la base est bonne est la je ne sais absolument plus quoi modifier,pou aditionner mes articles, apres ca je pourrais repartir..

Reply

Marsh Posté le 13-11-2005 à 19:19:39    

vincent2208 a écrit :

bonjour merci pr ta reponse ms j'ai posté car je me plante a chaque fois, cela ne m'avance donc pas trop..


 
 :??:  
 
Tu multiplies le prix ht que tu affiches par la quantité que tu affiches aussi, tu additionnes le tout dans une variable et tu affiches le total une fois que tu as fini  :hello:  
 
(ça m'a l'air tellement idiot par rapport à ce qu'il a déjà fait que j'ai l'impression d'avoir raté un truc  :heink: )
 
//edit : ah bah voilà, j'avais loupé le fait qu'il était pas l'auteur du script :D


Message édité par naceroth le 13-11-2005 à 19:20:34
Reply

Marsh Posté le 13-11-2005 à 19:21:57    

il y a un truc qui m'échappe ! Quand la personne choisi des articles ou est-ce que tu les mets ? dans un tableau ? dans une table ? je ne saisi pas tout dans ton code...
 
@+

Reply

Marsh Posté le 13-11-2005 à 19:24:07    

Oui j'ai recu bcp d'aide, un grand merci à tout le monde... Mais la il me faut juste un coupde pouce pour finir cela

Reply

Marsh Posté le 13-11-2005 à 19:24:07   

Reply

Marsh Posté le 13-11-2005 à 19:25:11    

Dans un tableau. dans le panier.

Reply

Marsh Posté le 13-11-2005 à 19:27:30    

ESt-ce que tu peux nous donner la forme du tableau, combien de variables ? qu'est que tu y rentres ? Bref, donne des détails...je le redis ! Tu dois avoir minimum trois variables (prix HT, Quantité, désignation,...)
 
Edit : Si je fais précedent, est-ce que les valeurs du tableau restent ?


Message édité par cvb le 13-11-2005 à 19:28:18
Reply

Marsh Posté le 13-11-2005 à 19:59:40    

Il y a 4 variables: reference, designation, quantité, prix ht:
 
if (isset($_POST['id_art'])) { // si il s'agit de l'ajout d'un article  
    $_SESSION['panier'][$_POST['id_art']]['ref'] = $_POST['ref'];  
    $_SESSION['panier'][$_POST['id_art']]['designation'] = $_POST['designation'];  
    $_SESSION['panier'][$_POST['id_art']]['prixht'] = $_POST['prixht'];  
    $_SESSION['panier'][$_POST['id_art']]['quantite'] = $_POST['quantite'];  
}
 
 
voici pour le tableau dans panier.php code plus haut:
 
table width="100%"  border="1" bordercolor="#FFFFFF" bgcolor="#FFFFFF">  
      <tr bordercolor="#BDDFE1" bgcolor="#BDDFE1" class="menugauche">  
        <td width="25%">Reference</td>  
        <td width="25%" bordercolor="#BDDFE1">Description</td>  
        <td width="25%">Prix HT &euro; </td>  
        <td width="25%">Quantit&eacute;</td>  
      </tr>  
    </table>';  
     
     
    // affichage du contenu du panier  
    for ($i=1;$i <= $nb_art; $i++) { // pour chaque article du panier  
        echo '<table width="100%" border="1" bordercolor="#FFFFFF" bgcolor="#FFFFFF" >  
          <tr>  
            <td width="25%">'.$_SESSION['panier'][$i]['ref'].'</td>  
            <td width="25%">'.$_SESSION['panier'][$i]['designation'].'</td>  
            <td width="25%">'.$_SESSION['panier'][$i]['prixht'].'</td>  
            <td width="25%">'.$_SESSION['panier'][$i]['quantite'].'</td>  
          </tr>  
        </table>';  
    }  
} else echo 'Votre panier ne contient aucun article.'; // le client n'a pas d'article dans son panier  
?>
 

Reply

Marsh Posté le 13-11-2005 à 20:00:03    

ps dsl oui les valeurs restent

Reply

Marsh Posté le 13-11-2005 à 20:17:57    

Qu'est-ce qui t'empêche de récupérer les valeurs du tableau par exemples dans une variable et de calculer le prix HT ? :??: Aprés c'est plus du PHP mais des maths...Tu peux faire une fonction si tu veux qui te renverra la somme "fina"...
 

Reply

Marsh Posté le 13-11-2005 à 20:24:52    

oui j'ai prevu une fonction pour calculer la tva apres mais je ne sais pas recolter les donnée et les aditionner c'est juste cela.

Reply

Marsh Posté le 13-11-2005 à 20:35:58    

:??:  
 
ça c'est bien pour afficher les valeurs dans ton tableau ? non ? Qu'est qu'il t'empêche de le mettre les valeurs retournés dans une variable ?
 

Code :
  1. $var1 = $_SESSION['panier'][$i]['prixht'];
  2. $var2 = $_SESSION['panier'][$i]['quantite'];
  3. $var3 = $var1 * $var2;


 
Ensuite tu te debrouye pour ne pas écraser la variables $var3, à chaque passe de la boucle. Personellement j'utiliserais "While", mais bon...
 
question : T'es l'auteur du code affiché en première page ?


Message édité par cvb le 13-11-2005 à 20:36:29
Reply

Marsh Posté le 13-11-2005 à 20:46:58    

pour le code du dessus j'ai fait la majeure partie de la structure et une personne sympas m'a repris pour reorganiser le systeme du panier,
 
mais la c'est vrai que j'ai du mal a piger ca fait 2 jours que j'y suis et je commence a tout melanger, vivement que je sois sorti de ce mauvais pas:
 

Reply

Marsh Posté le 13-11-2005 à 23:39:04    

eventuellement dans ce style:
 
<?php
     $total=0;
     while(list($cle,$valeur)=each($_SESSION['panier']))
     {
           if(is_numeric($cle))
           {
                   $total+=$valeur['prixht'];
           }
     }
 
     echo $total; //prix total HT
?>
 
mais je n'arrive pas a multiplier par la quantité..

Reply

Marsh Posté le 14-11-2005 à 07:06:57    

La cela prend en compte l'adition du total HT ligne par ligne mais pas si la quantié d'une ligne à étée modifier.

Reply

Marsh Posté le 14-11-2005 à 12:04:32    

comme te l'a dit naceroth, tu as une boucle d'affichage du panier, modifie la un peu pour qu'elle calcul en meme temps, le total de celui-ci ;)
 
ton code:

Code :
  1. // affichage du contenu du panier   
  2.     for ($i=1;$i <= $nb_art; $i++) { // pour chaque article du panier   
  3.         echo '<table width="100%" border="1" bordercolor="#FFFFFF" bgcolor="#FFFFFF" > 
  4.           <tr> 
  5.             <td width="25%">'.$_SESSION['panier'][$i]['ref'].'</td> 
  6.             <td width="25%">'.$_SESSION['panier'][$i]['designation'].'</td> 
  7.             <td width="25%">'.$_SESSION['panier'][$i]['prixht'].'</td> 
  8.             <td width="25%">'.$_SESSION['panier'][$i]['quantite'].'</td> 
  9.           </tr> 
  10.         </table>'; 
  11.     }


 
avec petite modif en plus:

Code :
  1. // affichage du contenu du panier   
  2.      $total_HT = 0; // init du total avant l'entrée boucle
  3.     for ($i=1;$i <= $nb_art; $i++) { // pour chaque article du panier   
  4.         echo '<table width="100%" border="1" bordercolor="#FFFFFF" bgcolor="#FFFFFF" > 
  5.           <tr> 
  6.             <td width="25%">'.$_SESSION['panier'][$i]['ref'].'</td> 
  7.             <td width="25%">'.$_SESSION['panier'][$i]['designation'].'</td> 
  8.             <td width="25%">'.$_SESSION['panier'][$i]['prixht'].'</td> 
  9.             <td width="25%">'.$_SESSION['panier'][$i]['quantite'].'</td> 
  10.           </tr> 
  11.         </table>';
  12.         // mise à jour du total pour chaque article
  13.         $total_HT += ($_SESSION['panier'][$i]['prixht'] * $_SESSION['panier'][$i]['quantite']);
  14.     }
  15.     // affichage en fin de boucle:
  16.     echo 'Montant total HT de votre panier : '.$total_HT;


Message édité par Xav_ le 14-11-2005 à 14:46:21

---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 14-11-2005 à 13:49:05    

Merci beaucoup à vous tous, et felicitation pour cette entraide

Reply

Marsh Posté le 14-11-2005 à 14:47:19    

vincent2208 a écrit :

Merci beaucoup à vous tous, et felicitation pour cette entraide


faut en déduire que ça marche ??? (une fois que t'a rajouté la prenthese que j'avais oublié, biensur...)
content, que ton pb soit résolu alors ;)


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 14-11-2005 à 15:11:13    

..en fait oui j'ai vu qu'il manquait un symbole mais je voulais le resoudre tout seul mais la je vois pas c'est tout bete je sais mais ca fait 15 jrs que je suis dessus jours et nuits et commence a tout melanger.. :-)

Reply

Marsh Posté le 14-11-2005 à 15:12:19    

un symbole ? :??:

Reply

Marsh Posté le 14-11-2005 à 15:13:51    

desole

Reply

Marsh Posté le 14-11-2005 à 15:29:43    

l'oublie de parenthese n'était pas volontaire de ma part, je l'ai vu en relisant, et j'ai édité pour corriger.


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 14-11-2005 à 15:46:30    

ok, ms ca m'a été utile en fait; j'ai juste un petit probleme depuis on voit bien apparaitre le texte du total mais l'ajout d'articles ne merche plus:
http://www.informatiques-consommab [...] panier.php

Reply

Marsh Posté le 14-11-2005 à 16:42:09    

je ne vois pas mais lorsque je remet les precedentes lignes de codes l'ajout remarche, quelqu'un auait-il une idée?

Reply

Marsh Posté le 14-11-2005 à 18:38:52    

Et un boulet incompétent en plus, un


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 14-11-2005 à 18:44:55    

esox_ch a écrit :

Et un boulet incompétent en plus, un


 
 :heink: je supose que tu maitrise tous les domaines dans l'informatique ?

Reply

Marsh Posté le 14-11-2005 à 18:48:47    

vincent2208 a écrit :

je ne vois pas mais lorsque je remet les precedentes lignes de codes l'ajout remarche, quelqu'un auait-il une idée?


 
la modif que j'ai fait, créé une nouvelle variable, et la renseigne pendant la boucle pour l'afficher à la fin... elle ne change en RIEN ton code (j'ai fait un copie/colle) donc je vois pas ou je pourrai te faire planter le truc....


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
Reply

Marsh Posté le 14-11-2005 à 18:51:24    

merci pour ta reponse c etrange , je vais me reposer un peu et m'y remet a tete reposée.

Reply

Marsh Posté le 14-11-2005 à 19:03:07    

vincent2208 a écrit :

merci pour ta reponse c etrange , je vais me reposer un peu et m'y remet a tete reposée.


 
 
Est-ce que tu peux mettre les précedente ligne de code et le code pour ajouter l'article pour avoir une vision des deux ;) Histoire d'y voir plus clair...
 
merci
@+

Message cité 1 fois
Message édité par cvb le 14-11-2005 à 19:03:24
Reply

Marsh Posté le 14-11-2005 à 19:18:15    

cvb a écrit :

:heink: je supose que tu maitrise tous les domaines dans l'informatique ?


 
Non, parcontre je maitrise ceux que j'utilise pour faire des sites/programmes destinés a gagner de l'argent. ça me semble la moindre des choses, mais apperemment beaucoup de monde estime qu'on peut etre un incompétent total et gagner des sous tout de meme


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 15-11-2005 à 01:00:32    

esox_ch a écrit :

Non, parcontre je maitrise ceux que j'utilise pour faire des sites/programmes destinés a gagner de l'argent. ça me semble la moindre des choses, mais apperemment beaucoup de monde estime qu'on peut etre un incompétent total et gagner des sous tout de meme


Toi t'es aigri  :heink: Faut arrêter de penser que les diplomes, les pseudo compétences font tout ;)
 
Avant d'être, t'es pas ;) Donc que les incapables fassent des pseudo sites pro ça m'énerve autant que toi mais la différence entre le pro et l'amateur c'est la connaissance ;)
 
Et quelqu'un qui sait ne chie pas sur les autres ;) Maintenant entre celui qui sait mais reste un boulet et celui ne sait pas, le langage reste le même ;)
 
Et je sais que quand on est excédé on éclate ;) Mais  c'est encoàre la différence entre le vrai pro et le pro-amateur :)
 
Tout ça pour dire que si t'es excédé tu réponds pas ;) Sinon tu fais du conscructif pour orienté ;) Se croire le meilleur c'est pas le mieux... Apparement t'as pas besoin  de former toi :)

Reply

Marsh Posté le 15-11-2005 à 06:50:49    

cvb a écrit :

Est-ce que tu peux mettre les précedente ligne de code et le code pour ajouter l'article pour avoir une vision des deux ;) Histoire d'y voir plus clair...
 
merci
@+


 
AVANT:

Code :
  1. <?php
  2. /* variables panier sous la forme :  
  3. $_SESSION['panier'][ID article][array(ref=>blabla,designation=>blabla,prixht=>blabla,quantite=>blabla);  
  4. */
  5. session_start();
  6. if (isset($_POST['id_art'])) { // si il s'agit de l'ajout d'un article  
  7.     $_SESSION['panier'][$_POST['id_art']]['ref'] = $_POST['ref'];
  8.     $_SESSION['panier'][$_POST['id_art']]['designation'] = $_POST['designation'];
  9.     $_SESSION['panier'][$_POST['id_art']]['prixht'] = $_POST['prixht'];
  10.     $_SESSION['panier'][$_POST['id_art']]['quantite'] = $_POST['quantite'];
  11. }
  12. $nb_art=count($_SESSION['panier']); // nombre d'articles dans le panier  
  13. if (count($_SESSION['panier']) > 0) { // si le panier n'est pas vide  
  14.     echo'
  15.     <style type="text/css">
  16.     <!--
  17.     body,td,th {
  18.      color: #006699;
  19.     }
  20.     body {
  21.      background-image: url(../design/styles/fond.gif);
  22.     }
  23.     -->
  24.     </style>
  25.     <link href="../design/styles/styles.css" rel="stylesheet" type="text/css">
  26.     <table width="100%"  border="1" bordercolor="#FFFFFF" bgcolor="#FFFFFF">
  27.       <tr bordercolor="#BDDFE1" bgcolor="#BDDFE1" class="menugauche">
  28.         <td width="25%">Reference</td>
  29.         <td width="25%" bordercolor="#BDDFE1">Description</td>
  30.         <td width="25%">Prix HT &euro; </td>
  31.         <td width="25%">Quantit&eacute;</td>
  32.       </tr>
  33.     </table>';
  34.    
  35.    
  36.     // affichage du contenu du panier  
  37.     for ($i=1;$i <= $nb_art; $i++) { // pour chaque article du panier  
  38.         echo '<table width="100%" border="1" bordercolor="#FFFFFF" bgcolor="#FFFFFF" >
  39.           <tr>
  40.             <td width="25%">'.$_SESSION['panier'][$i]['ref'].'</td>
  41.             <td width="25%">'.$_SESSION['panier'][$i]['designation'].'</td>
  42.             <td width="25%">'.$_SESSION['panier'][$i]['prixht'].'</td>
  43.             <td width="25%">'.$_SESSION['panier'][$i]['quantite'].'</td>
  44.           </tr>
  45.         </table>';
  46.     }
  47. } else echo 'Votre panier ne contient aucun article.'; // le client n'a pas d'article dans son panier  
  48. ?>


 
 
APRES

Code :
  1. <?php
  2. /* variables panier sous la forme :  
  3. $_SESSION['panier'][ID article][array(ref=>blabla,designation=>blabla,prixht=>blabla,quantite=>blabla);  
  4. */
  5. session_start();
  6. if (isset($_POST['id_art'])) { // si il s'agit de l'ajout d'un article  
  7.     $_SESSION['panier'][$_POST['id_art']]['ref'] = $_POST['ref'];
  8.     $_SESSION['panier'][$_POST['id_art']]['designation'] = $_POST['designation'];
  9.     $_SESSION['panier'][$_POST['id_art']]['prixht'] = $_POST['prixht'];
  10.     $_SESSION['panier'][$_POST['id_art']]['quantite'] = $_POST['quantite'];
  11. }
  12. $nb_art=count($_SESSION['panier']); // nombre d'articles dans le panier  
  13. if (count($_SESSION['panier']) > 0) { // si le panier n'est pas vide  
  14.     echo'
  15.     <style type="text/css">
  16.     <!--
  17.     body,td,th {
  18.      color: #006699;
  19.     }
  20.     body {
  21.      background-image: url(../design/styles/fond.gif);
  22.     }
  23.     -->
  24.     </style>
  25.     <link href="../design/styles/styles.css" rel="stylesheet" type="text/css">
  26.     <table width="100%"  border="1" bordercolor="#FFFFFF" bgcolor="#FFFFFF">
  27.       <tr bordercolor="#BDDFE1" bgcolor="#BDDFE1" class="menugauche">
  28.         <td width="25%">Reference</td>
  29.         <td width="25%" bordercolor="#BDDFE1">Description</td>
  30.         <td width="25%">Prix HT &euro; </td>
  31.         <td width="25%">Quantit&eacute;</td>
  32.       </tr>
  33.     </table>';
  34.    
  35.    
  36. // affichage du contenu du panier   
  37.      $total_HT = 0; // init du total avant l'entrée boucle  
  38.     for ($i=1;$i <= $nb_art; $i++) { // pour chaque article du panier   
  39.         }
  40.  echo '<table width="100%" border="1" bordercolor="#FFFFFF" bgcolor="#FFFFFF" > 
  41.           <tr> 
  42.             <td width="25%">'.$_SESSION['panier'][$i]['ref'].'</td> 
  43.             <td width="25%">'.$_SESSION['panier'][$i]['designation'].'</td> 
  44.             <td width="25%">'.$_SESSION['panier'][$i]['prixht'].'</td> 
  45.             <td width="25%">'.$_SESSION['panier'][$i]['quantite'].'</td> 
  46.           </tr> 
  47.         </table>';
  48.         // mise à jour du total pour chaque article  
  49.         $total_HT += ($_SESSION['panier'][$i]['prixht'] * $_SESSION['panier'][$i]['quantite']); 
  50.     }
  51.     // affichage en fin de boucle:  
  52.     echo 'Montant total HT de votre panier : '.$total_HT;
  53. ?>


 
url test :  
ajout articles:
http://www.informatiques-consommab [...] /alps1.php
panier:
http://www.informatiques-consommab [...] anier1.php
 
Merci pour vos reponses, ps: je le redi->je ne gagne pas d'argent avec ce site et je suis en train d'apprendre la gestion de caddie vos remarques sont vraiment inutiles sinon je ne vois pas l'interet d'un tel forum si tout le monde connaissait tout. D'autant plus que vous n'aidez pas  et vous pourrissez les posts: (ils se reconnaitront) :-( SALUTATIONS POUR TOUS LES AUTRES.

Reply

Marsh Posté le 15-11-2005 à 09:35:56    

La seule différence entre avant et aprés c'est l'initialisation de la variable ! Si tu l'enlève qu'est ce que ça donne ?  
ESt-ce qu'il t'affiche bien le pris HT ?  
Est-ce qu'il passe bien la ligne qui permet d'ajouter des articles (mais un echo pour voir s'il passe ou non).
Est-ce que les variables renvoyés,permettant d'ajouter sont alimentés ?
 
Test tes variables une à une, c'est sans une merde de ce coté là ! Il doit pas passer une condition ou quelques chose dans le genre ! Faut avoir le programme sous les yeux et depanné point par point quit à mettre 4 heures pour tout tester ! C'est ce que je fais avec le mien en ce moment !;)  
 
@+

Reply

Marsh Posté le 15-11-2005 à 09:40:46    

merci a toi c'est vraiment trés gentil mais je viens de resoudre le truc cela fonctionne comme tu pourras le constater
http://www.informatiques-consommab [...] 1/alps.php
, cette fois c'est la bonne grand merci à vous tous,
ps: je reviendrai apporter ma contribution à mon tour d'ici quelques jours dés que j'aurais ficeler tout ca.

Reply

Marsh Posté le 15-11-2005 à 09:44:46    

vincent2208 a écrit :

merci a toi c'est vraiment trés gentil mais je viens de resoudre le truc cela fonctionne comme tu pourras le constater
http://www.informatiques-consommab [...] 1/alps.php
, cette fois c'est la bonne grand merci à vous tous,
ps: je reviendrai apporter ma contribution à mon tour d'ici quelques jours dés que j'aurais ficeler tout ca.


 
 
l'erreur c'était quoi ?  :??:

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed