Comment calculer ligne après ligne le montant d'un panier en php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Comment calculer ligne après ligne le montant d'un panier en php

par Nagol » 18 juin 2009, 02:17

ah aussi, l'argument "ca marche" c'est pas un truc valable, est ce que ca marchera demain, et après demain, est ce que si un utilisateur fait un truc bizarre ça marche toujours, est ce que ca marche si ton code change de serveur, ou de version de php. y'a beaucoup beaucoup d'aléatoire dans ce domaine, faut etre très omniscient pour pouvoir s'abstraire de bugs. qui plus est, si ca marchais, serais-tu sur ce forum? :)

par Nagol » 18 juin 2009, 02:15

je crois qu'il voulait dire que c'est une catastrophe, parceque c'est une catastrophe :)

le fait de marcher c'est bien, mais il faut travailler sur les perfs, la simplicité, la logique, la présentation, la validité du html final, bref un peu tout

Code : Tout sélectionner

for($i = 0; $i < 1; $i++)
un tour de boucle et puis s'en va? tu peux supprimer ça, ca sert à rien à prioris

Code : Tout sélectionner

echo "".htmlspecialchars($_SESSION['panier']['prixProduit'][$i])."<br>";
echo "" c'est pas très utile, les double quote c'est mal.

Code : Tout sélectionner

<div align=right>
un argument en html ca prend des ", et l'argument right n'existe plus dans aucune des normes de ces 5 dernières années

c'est pas pour t'embéter, mais je pense que tu résoudrais ton probleme en 15 minutes si tu avais un code moins alambiqué, parceque bon au final c'est une adition que tu veux faire...

par arkhon21 » 17 juin 2009, 22:06

Pourquoi ne pas faire une simple boucle WHILE et si je peut me permettre recommence ton code parce là c'est une catastrophe :wink:
C'est une catastrophe parce c'est une catastrophe? Ou c'est une catastrophe parce que toi non plus t'arrive pas a solutionner?

Car pour une catastrophe, il fonctionne très bien, c'est seulement l'addition de chaque produit qui me manque. Car l'addition final, je l'obtiens correctement.

Mais je vais essayer la boucle WHILE pour obtenir l'addition de chaque produit.

par dunbar » 17 juin 2009, 20:41

Pourquoi ne pas faire une simple boucle WHILE et si je peut me permettre recommence ton code parce là c'est une catastrophe :wink:

par arkhon21 » 17 juin 2009, 17:47

Voila le code complet,

<?
session_start();
require("conf.php"); 
if(!session_is_registered(myusername)){
header("location:index.php");
}

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");



$sql="SELECT * FROM order_clients T, clients C WHERE T.myusername=C.myusername ORDER BY date_hour DESC LIMIT 1; " or die ('Erreur SQL !' .$sql. ' <br> ' .mysql_error());
$req = mysql_query($sql) or die ('Erreur SQL !' .$sql. ' <br> ' .mysql_error());
$res = mysql_fetch_array($req) or die ('Erreur SQL !' .$sql. ' <br> ' .mysql_error()); 


?>

<center><table class="catalog7" BORDER=0 CELLSPACING=5 CELLPADDING=5 COLS=4 WIDTH="750" >
<tr>
<td class="catalog6"><b>QTY</b></td>

<td class="catalog6"><b>Description</b></td>

<td class="catalog6"><b>Unity Price</b></td>

<td class="catalog6"><b>Line Total</b></td>
</tr>

<tr>
<td class="catalog7">
<? 

$nbArticles=count($_SESSION['panier']['qteProduit']);
  if ($nbArticles <= 0)
   echo "0";
  else
  {
   for ($i=0 ;$i < $nbArticles ; $i++)
   {
    echo "".htmlspecialchars($_SESSION['panier']['qteProduit'][$i])."<br>";

   }
     
	}
	


;?>
</td>

<td class="catalog7">
<? 
$nbArticles=count($_SESSION['panier']['libelleProduit']);
  if ($nbArticles <= 0)
   echo "Your Cart is Empty";
  else
  {
   for ($i=0 ;$i < $nbArticles ; $i++)
   {
    echo "".($_SESSION['panier']['libelleProduit'][$i])."<br>";

   }
     
	}
	
	

;?>
</td>

<td class="catalog7">
<div align=right>
<? 

$nbArticles=count($_SESSION['panier']['prixProduit']);
  if ($nbArticles <= 0)
   echo "0";
  else
  {
   for ($i=0 ;$i < $nbArticles ; $i++)
   {
    echo "".htmlspecialchars($_SESSION['panier']['prixProduit'][$i])."<br>";

   }
     
	}
	


;?>
</div></td>

<td class="catalog7">
<div align=right>
<?

$linetotal=0;

  for($i = 0; $i < 1; $i++) 
  {            
   $linetotal = $_SESSION['panier']['qteProduit'][$i] * $_SESSION['panier']['prixProduit'][$i]; 
  }
    
{
echo "".$linetotal. "<br>";
}
?>
</div></td>
</tr>

<tr>
<td class="catalog7"></td>

<td class="catalog7"></td>

<td class="catalog7">
<div align=right><b>Sub-Total</b></div>
</td>

<td class="catalog7">
<div align=right>
<?

$total=0;

  for($i = 0; $i < count($_SESSION['panier']['libelleProduit']); $i++) 
  {            
   $total += $_SESSION['panier']['qteProduit'][$i] * $_SESSION['panier']['prixProduit'][$i]; 
  }
    
{
echo "".$total."";
}
?>
</div></td>
</tr>

<tr>
<td class="catalog7"></td>

<td class="catalog7"></td>

<td class="catalog7">
<div align=right><b>Tax</b></div>
</td>

<td class="catalog7">
<div align=right>0.00</div>
</td>
</tr>

<tr>
<td class="catalog7"></td>

<td class="catalog7"></td>

<td class="catalog7">
<div align=right><b>Total</b></div>
</td>

<td class="catalog7">
<div align=right>
<?

$total=0;

  for($i = 0; $i < count($_SESSION['panier']['libelleProduit']); $i++) 
  {            
   $total += $_SESSION['panier']['qteProduit'][$i] * $_SESSION['panier']['prixProduit'][$i]; 
  }
    
{
echo "".$total."";
}
?>
</div></td>
</tr>
</table></center>

par dunbar » 17 juin 2009, 17:08

OK

Voila le code
<?

$linetotal=0;

  for($i = 0; $i < 1; $i++) 
  {            
   $linetotal = $_SESSION['panier']['qteProduit'][$i]* $_SESSION['panier']['prixProduit'][$i]; 
  }
    
{
echo "".$linetotal. "<br>";
}
?>
Ce que j'aimerai c'est savoir c'est le bout de code a placer pour pouvoir passer a la ligne suivante, la calculer, donner le résultat, puis faire de même pour le reste

Merci
Le formulaire aussi stp

par arkhon21 » 17 juin 2009, 13:19

OK

Voila le code
<?

$linetotal=0;

  for($i = 0; $i < 1; $i++) 
  {            
   $linetotal = $_SESSION['panier']['qteProduit'][$i]* $_SESSION['panier']['prixProduit'][$i]; 
  }
    
{
echo "".$linetotal. "<br>";
}
?>
Ce que j'aimerai c'est savoir c'est le bout de code a placer pour pouvoir passer a la ligne suivante, la calculer, donner le résultat, puis faire de même pour le reste

Merci

par albat » 17 juin 2009, 13:11

Modération :
Sans voir ton code, ça va pas être simple...
:roll:

Comment calculer ligne après ligne le montant d'un panier en

par arkhon21 » 17 juin 2009, 12:50

Bonjour,

Je cherche comme calculer ligne après ligne le montant d'un panier en php.

Par exemple:

5 Pantalons a 9.95€ = 49.75€

+1 chemise a 3.50€ = 3.50€

Je ne cherche pas calculer le grand total, mais seulement le total pour chaque ligne d' article. En gros quelle syntaxe a utiliser pour pouvoir calculer les 5 pantalons, puis la ligne du dessous et ainsi de suite


Quelqu'un aurait-il une réponse?

Merci