Se connecter avec
S'enregistrer | Connectez-vous

[Résolu]if qui ne fonctionne pas

Dernière réponse : dans Programmation

Bonjour à tous,
Je suis en train de tourner en rond et je ne vois pas que faire pour m'en sortir...

J'ai un formulaire qui me permet de sélectionner des choix avec des checkbox et j'aimerai que si tel ou tel choix est sélectionné, la somme totale s'incrémente.

Pour cela, je fais un if qui vérifie si le $choix est égal à une valeur de mon tableau et si oui, j'incrémente ma somme...

Mais malheureusement :(  , on entre jamais dans mon if...

Voilà mon code:

  1. <?php
  2. include("secure.php");
  3. include("pcdb.php");
  4.  
  5. $connexion = mysql_connect($hote, $utilisateur, $mdp);
  6. $choix_base = mysql_select_db($data_base, $connexion)or die("Impossible d'ouvrir le fichier de comptes");
  7.  
  8. if(isset($_POST['Total']))
  9. {
  10. if(!empty($_POST['commande']))
  11. {
  12. $commande = $_POST['commande'];
  13.  
  14. $sql = "SELECT libelle, prix FROM prix, produit WHERE produit.idproduit = prix.idproduit";
  15. $req = mysql_query($sql) or die (mysql_error());
  16.  
  17. while ($data = mysql_fetch_array($req))
  18. {
  19. $libelle = $data['libelle'];
  20. foreach($commande as $choix)
  21. {
  22. echo '$data: '.$libelle;?><br /><?php
  23. echo '$choix: '.$choix;?><br /><?php
  24. echo $data['prix'];?><br /><br /><?php
  25. if($libelle == $choix)
  26. {
  27. echo 'Somme Avant: '.$somme;
  28. $prix = $data['prix'];
  29. $somme = $somme + $prix;
  30. echo $data['prix'];
  31. echo 'Somme Après: '.$somme;
  32. }
  33. }
  34. }
  35. }
  36. }
  37. ?>
  38. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd</a>">
  39. <html xmlns="<a href="http://www.w3.org/1999/xhtml" target="_blank">http://www.w3.org/1999/xhtml</a>" xml:lang="fr" >
  40. <head>
  41. <title>LOGEM SOFTWARE ENGINEERING SA - Achat licence</title>
  42. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  43. <meta name="description" content="LOGEM SOFTWARE ENGINEERING SA" />
  44. <meta name="keywords" content="aide à la planification" />
  45. </head>
  46. <body>
  47. <form action="test2.php" method="post">
  48. <?php
  49.  
  50. $sql = "SELECT produit.idproduit, libelle, prix FROM prix, produit WHERE produit.idproduit = prix.idproduit";
  51. $req = mysql_query($sql) or die(mysql_error());
  52.  
  53. while ($data = mysql_fetch_array($req))
  54. {
  55. ?>
  56. <div>
  57. <span><input type="checkbox" name="commande[]" value=" <?php echo $data['libelle'];?>"><?php echo $data['libelle'];?></span>
  58. <span>Prix:</span>
  59. <span><?php echo $data['prix'];?></span>
  60. </div>
  61. <?php
  62. }
  63. mysql_close();
  64. ?>
  65. <div><strong>Total: </strong><?php echo $somme; ?></div>
  66.  
  67. <div>
  68. <span><input type="reset" name="Effacer" value="Effacer" /></span>
  69. <span><input type="submit" name="Total" value="Total" /></span>
  70. <span><input type="submit" name="Commander" value="Commander" /></span>
  71. </div>
  72. </form>
  73. </body>
  74. </html>


Merci d'avance pour votre aide!
:hello: 

Autres pages sur : resolu fonctionne

Lassé par la pub ? Créez un compte

Je ne sais pas si c'est la meilleure façon de faire, mais en tout cas, ça fonctionne! :) 

  1. <?php
  2. include("secure.php");
  3. include("pcdb.php");
  4.  
  5. $connexion = mysql_connect($hote, $utilisateur, $mdp);
  6. $choix_base = mysql_select_db($data_base, $connexion)or die("Impossible d'ouvrir le fichier de comptes");
  7.  
  8. if(isset($_POST['Total']))
  9. {
  10. if(!empty($_POST['commande']))
  11. {
  12. $liste = implode(',',$_POST['commande']);
  13.  
  14. $sql = "SELECT * FROM prix, produit WHERE produit.idproduit = prix.idproduit AND produit.idproduit IN($liste)";
  15. $req = mysql_query($sql) or die (mysql_error());
  16.  
  17. while($data = mysql_fetch_array($req))
  18. {
  19. $somme = $somme + $data[prix];
  20. }
  21. }
  22. }
  23. ?>


Pour ceux que ça intéresse! :hello: 

Et encore mieux pour éviter la boucle! :) 

  1. <?php
  2. include("secure.php");
  3. include("pcdb.php");
  4.  
  5. $connexion = mysql_connect($hote, $utilisateur, $mdp);
  6. $choix_base = mysql_select_db($data_base, $connexion)or die("Impossible d'ouvrir le fichier de comptes");
  7.  
  8. if(isset($_POST['Total']))
  9. {
  10. if(!empty($_POST['commande']))
  11. {
  12. $liste = implode(',',$_POST['commande']);
  13.  
  14. $sql = "SELECT SUM(prix) AS Total FROM prix, produit WHERE produit.idproduit = prix.idproduit AND produit.idproduit IN($liste)";
  15. $req = mysql_query($sql) or die (mysql_error());
  16. $res = mysql_fetch_assoc($req);
  17. $somme = $res['Total'];
  18. }
  19. }
  20. ?>


Voilà, et merci! :hello: 
Lassé par la pub ? Créez un compte