Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2674 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  calculer total articles ht panier

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

calculer total articles ht panier

n°1244692
vincent220​8
Posté le 13-11-2005 à 15:53:17  profilanswer
 

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

mood
Publicité
Posté le 13-11-2005 à 15:53:17  profilanswer
 

n°1244703
cvb
Posté le 13-11-2005 à 16:34:13  profilanswer
 

...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
n°1244747
vincent220​8
Posté le 13-11-2005 à 18:48:25  profilanswer
 

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.

n°1244757
naceroth
Posté le 13-11-2005 à 18:59:29  profilanswer
 

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 :))

n°1244766
vincent220​8
Posté le 13-11-2005 à 19:09:18  profilanswer
 

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..

n°1244768
cvb
Posté le 13-11-2005 à 19:15:32  profilanswer
 

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


Message édité par cvb le 13-11-2005 à 19:15:40
n°1244770
vincent220​8
Posté le 13-11-2005 à 19:18:30  profilanswer
 

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..

n°1244771
naceroth
Posté le 13-11-2005 à 19:19:39  profilanswer
 

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
n°1244773
cvb
Posté le 13-11-2005 à 19:21:57  profilanswer
 

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...
 
@+

n°1244775
vincent220​8
Posté le 13-11-2005 à 19:24:07  profilanswer
 

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

mood
Publicité
Posté le 13-11-2005 à 19:24:07  profilanswer
 

n°1244777
vincent220​8
Posté le 13-11-2005 à 19:25:11  profilanswer
 

Dans un tableau. dans le panier.

n°1244780
cvb
Posté le 13-11-2005 à 19:27:30  profilanswer
 

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
n°1244788
vincent220​8
Posté le 13-11-2005 à 19:59:40  profilanswer
 

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  
?>
 

n°1244789
vincent220​8
Posté le 13-11-2005 à 20:00:03  profilanswer
 

ps dsl oui les valeurs restent

n°1244797
cvb
Posté le 13-11-2005 à 20:17:57  profilanswer
 

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"...
 

n°1244802
vincent220​8
Posté le 13-11-2005 à 20:24:52  profilanswer
 

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.

n°1244812
cvb
Posté le 13-11-2005 à 20:35:58  profilanswer
 

:??:  
 
ç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
n°1244821
vincent220​8
Posté le 13-11-2005 à 20:46:58  profilanswer
 

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:
 

n°1244894
vincent220​8
Posté le 13-11-2005 à 23:39:04  profilanswer
 

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é..

n°1244943
vincent220​8
Posté le 14-11-2005 à 07:06:57  profilanswer
 

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

n°1245075
Xav_
The only one...
Posté le 14-11-2005 à 12:04:32  profilanswer
 

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
n°1245128
vincent220​8
Posté le 14-11-2005 à 13:49:05  profilanswer
 

Merci beaucoup à vous tous, et felicitation pour cette entraide

n°1245225
Xav_
The only one...
Posté le 14-11-2005 à 14:47:19  profilanswer
 

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
n°1245281
vincent220​8
Posté le 14-11-2005 à 15:11:13  profilanswer
 

..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.. :-)

n°1245287
cvb
Posté le 14-11-2005 à 15:12:19  profilanswer
 

un symbole ? :??:

n°1245290
vincent220​8
Posté le 14-11-2005 à 15:13:51  profilanswer
 

desole

n°1245325
Xav_
The only one...
Posté le 14-11-2005 à 15:29:43  profilanswer
 

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
n°1245341
vincent220​8
Posté le 14-11-2005 à 15:46:30  profilanswer
 

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

n°1245407
vincent220​8
Posté le 14-11-2005 à 16:42:09  profilanswer
 

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

n°1245497
esox_ch
Posté le 14-11-2005 à 18:38:52  profilanswer
 

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
n°1245501
cvb
Posté le 14-11-2005 à 18:44:55  profilanswer
 

esox_ch a écrit :

Et un boulet incompétent en plus, un


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

n°1245502
Xav_
The only one...
Posté le 14-11-2005 à 18:48:47  profilanswer
 

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
n°1245503
vincent220​8
Posté le 14-11-2005 à 18:51:24  profilanswer
 

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

n°1245509
cvb
Posté le 14-11-2005 à 19:03:07  profilanswer
 

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
n°1245520
esox_ch
Posté le 14-11-2005 à 19:18:15  profilanswer
 

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
n°1245737
leflos5
On est ou on est pas :)
Posté le 15-11-2005 à 01:00:32  profilanswer
 

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 :)

n°1245754
vincent220​8
Posté le 15-11-2005 à 06:50:49  profilanswer
 

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.

n°1245794
cvb
Posté le 15-11-2005 à 09:35:56  profilanswer
 

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 !;)  
 
@+

n°1245800
vincent220​8
Posté le 15-11-2005 à 09:40:46  profilanswer
 

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.

n°1245804
cvb
Posté le 15-11-2005 à 09:44:46  profilanswer
 

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 ?  :??:

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  calculer total articles ht panier

 

Sujets relatifs
probleme sessions panierComment créer une galerie d'articles en ligne style ikea
Sondage d'idées (extraire des articles)[Jeu] Calculer la visibilité des unités entre elles....
Panier en PHP Sécuritécalculer une moyenne en enlevant avant deux données...
[Excel] Selection et total de valeursOptimisation de scripts PHP, comment la calculer.
script articles[resolue]N'afficher que certains articles
Plus de sujets relatifs à : calculer total articles ht panier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR