Calcul dans Boutique virtuelle
Bonjour à tous,
Voilà j'aimerais créer une boutique virtuelle et j'ai quelques problèmes. En fait je me connecte à une base de données pour chercher mes objets (nom, prix unitaire) et puis je les affiche : je créer une zone de saisie contenant le nombre d'objet que l'utilisateur veut acheter pour chaque objet et deux boutons permettant d'augmenter ou de réduire ce nombre. Ces deux boutons se connectent à deux fonctions toutes bêtes en Javascript.
Mon problème c'est que à la fin j'aimerais marquer, dynamiquement, l'argent qu'il faut dépenser et l'argent qui reste à l'utilisateur mais je n'y arrive pas.
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| <html>
<head>
<script language="JavaScript">
function Inc(champ) // Augmentation du nombre d'unités
{
champ.value++;
}
function Dec(champ) // Diminution du nombre d'unités (avec test si < à 0)
{
champ.value--;
if(champ.value<0)
{
champ.value=0;
alert("Pas moins que 0");
}
}
</script>
</head>
<body>
<form action="" method="POST">
<table>
<?php
mysql_connect("localhost","root",""); // Connexion BDD
mysql_select_db("toutou");
$query = "SELECT * FROM objets";
$result = mysql_query($query);
while($row = mysql_fetch_array($result))
{
$nom = $row['nom']; // Nom de l'objet
$prix_unit = $row['prix']; // PU de l'objet
echo "<tr><td>$nom</td><td><input type='text' name='$nom' value='0' /> (x$prix_unit)</td>
<td><input type='button' onclick='Inc($row[nom])' value='^' /></td>
<td><input type='button' onclick='Dec($row[nom])' value='v' /></td></tr>
<input type='hidden' name='prix_$nom' value='$prix_unit' />";
}
echo "
</table>
<input type='submit' name='acheter' value='Acheter' />
</form>
</body>
</html>
"; |
Pour l'instant est-ce bon ?
Merci beaucoup
Au revoir
Topheur
Nouveau code pour ma boutique virtuelle
Bonjour à tous
J'ai modifié mon code mais j'ai un gros souci : en fait, quand on augmente le nombre d'unités d'un produit, l'argent diminue (normal !). Mais si ça ne tombe pas juste : exemple, j'ai 300 euros et j'achete des produits dont le cout unitaire est de 200 et bien l'argent ne tombe pas à zéro mais en négatif -> je peux monter le nombre de produits à 2 et mon argent sera de -100 !!! Mais si ça tombe juste c'est nikel !
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| <html>
<head>
<script language="javascript">
function calcul(op,champ,total,argent)
{
var a=0;
var somme=0;
var diff=0;
var money=500;
if(op=="add")
champ.value++;
if(op=="sub" && champ.value > 0)
champ.value--;
for(a;a<=2;a++)
{
somme += parseInt(document.getElementById(a).value) * parseInt(document.getElementById(a+1).value);
diff = money-somme;
if(diff < 0)
{
champ.value--;
somme = parseInt(document.getElementById(champ.id).value) * parseInt(document.getElementById(champ.id).value);
diff = money-somme;
}
total.value=somme;
argent.value=diff;
a++;
}
}
</script>
<style>
input
{
border:thin;
}
</style>
</head>
<body>
<form action="" method="POST">
<table>
<tr><td>Os (12): </td><td><input type="text" name="os" id="0" value="0" readonly /></td>
<td><input type="button" value="+" onclick="calcul('add',os,total,argent)" /></td>
<td><input type="button" value="-" onclick="calcul('sub',os,total,argent)" /></td></tr>
<input type="hidden" name="prix_os" value="12" id="1"/>
<tr><td>Collier (22): </td><td><input type="text" name="fouet" id="2" value="0" /></td>
<td><input type="button" value="+" onclick="calcul('add',fouet,total,argent)" /></td>
<td><input type="button" value="-" onclick="calcul('sub',fouet,total,argent)" /></td></tr>
<input type="hidden" name="prix_fouet" value="22" id="3"/>
<tr><td>Coût (en Euro) : </td><td><input type="text" name="total" value="0" /></td></tr>
<tr><td>Argent (en Euro) :</td><td><input type="text" name="argent" value="500"/></td></tr></table>
</form>
</body>
</html> |
Vous pouvez m'aider ? Merci beaucoup
Au revoir