Bonjour,
Je développe un petit jeu d'élevage et je travail actuellement sur le module de ventes...
Je stock les annonces dans une base, je les affiches avec un While comprenant un formulaire pour chaque annonces..
mais quand je test et que je souhaite acheter, j'achète toutes les annonces d'un coup malgré les conditions dans les requêtes ...
J'ai raté quelques choses mais je ne vois pas :/
Voici le code brut ^^"
<?php
require('connect.php');
$yo = $bdd->query('SELECT * FROM ventes ORDER BY datevente DESC');
while($vt = $yo->fetch())
{
?>
<div id="clear"></div>
<?php
echo '
<div id="cadreventes">
<form action="" method="post">
<input type="hidden" name="idventes" value ="'.$vt['id'].'" />
<img style="float:left;width:50px;height:50px;margin-left:30px;margin-top:5px" src="'.$vt['img'].'">
<div class="mincol" style="margin-top:15px"><a class="menu" href="ane?id='.$vt['id_ane'].' ">
'.$vt['nom'].'</a></br>';
if($vt['textaffixe'] != '')
{
echo '<i><a class="footer" href="affixe?id='.$vt['affixe'].' ">'.$vt['textaffixe'].'</a></i></div>';
}
else
{
echo '<div class="mincol"></div>';
}
echo '<div class="mincol" style="margin-top:2px">Age : </br> Potentiel : </div>';
echo '<div class="mincol"><a class="menu"><input type="hidden" name="euros" value ="'.$vt['euros'].'"/>'.$vt['euros'].'</a> <a class="cbp-tm-icon-euro"></a></div>';
if($vt['bonus'] == 0)
{
echo '<div class="mincol"><input type="hidden" name="bonusane" value = "'.$vt['bonus'].'"/></div>';
}
else
{
echo '<div class="mincol"><a class="menu"><input type="hidden" name="bonusane" value = "'.$vt['bonus'].'"/>'.$vt['bonus'].'</a> <a class="cbp-tm-icon-bonus"></a></div>';
}
echo '<div class="mincol">';
if($donnees['euros'] >= $vt['euros'] && $donnees['bonus'] >= $vt['bonus'])
{
echo '<input class="vbuttonblanc" name="acheter" type="submit" value="Acheter"></div></div></form><div id="clear"></div>';
}
else
{
echo '<input class="vbuttongris" name="acheter" type="submit" value="Acheter"></form></div></div><div id="clear"></div>';
}
?>
<?php
if(isset($_POST['acheter'])){
if(empty($vt['euros'])){
echo '';
}
else
{
$s = $bdd->prepare('UPDATE membre SET euros=euros-'.$_POST['euros'].' , bonus=bonus-'.$_POST['bonusane'].' WHERE pseudo="'.$donnees['pseudo'].'" ');
$lu = $s->execute();
if (!$s) {
die('Requête invalide : ' . mysql_error());
}
else
{
$aczs = $bdd->prepare('UPDATE membre SET euros=euros+'.$_POST['euros'].' , bonus=bonus+'.$_POST['bonusane'].' WHERE pseudo="'.$vt['vendeur'].'" ');
$annz = $aczs->execute();
if (!$aczs) {
die('Requête invalide : ' . mysql_error());
}
else
{
$ac = $bdd->prepare('UPDATE ane SET proprietaire="'.$donnees['pseudo'].'", vente=vente-1 WHERE id="'.$vt['id_ane'].'" ');
$ann = $ac->execute();
if (!$ac) {
die('Requête invalide : ' . mysql_error());
}
else
{
$acer = $bdd->prepare('DELETE FROM ventes WHERE id="'.$_POST['idventes'].'" ');
$annyu = $acer->execute();
if (!$acer) {
die('Requête invalide : ' . mysql_error());
}
else
{
echo '<script type="text/javascript"> window.setTimeout("location=(\'ventes?nom=annonces\');",0) </script>';
}
}
}
}
}
}
}
$yo->closeCursor();
?>
Merci beaucoup pour votre aide :)