par
ItaloBADI » 24 oct. 2005, 23:20
Je savais que j'étais mauvais en maths mais quand même !
J'ai demandé dans un script de mise en culture de terres que l'ordi ajoute des terres à des terres déjà mises en culture...
Rien de bien compliqué, des additions !
Et bien, j'hallucine , l'ordi ajoute 100 à 100, soit 200 ( bravo ordi )
puis il ajoute 50 à 200 soit 250 ( waoo il est fort ! ) et là, je continue, et il ajoute 100 à 250 soit 95 par exemple !
ARRRRGGGHHH !!!!
Voilà le code entier, j'ai tout vérifié, et j'ai même compliqué les choses en enlevant mes opérations de la requête UPDATE et la remplaçant par une variable calculée avant, mais rien n'y fait !
Où est-ce que je pêche ?
Je mets l apage entière, parce que ça vient peut-être de mes multiples requêtes AVANT !
En sachant que c'est une page de traitement d'un formulaire....
<?session_start();?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>traitement des terres</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" href="style/location.css" type="text/css" />
</head>
<body>
<div id="bas">
<?
// on se connecte à MySQL
$db = mysql_connect('localhost', 'root', '');
// on sélectionne la base
mysql_select_db('colons',$db);
// on crée la requête SQL
$sql = "SELECT saison, annee FROM temps";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
{
$saison=$data['saison'];
$annee=$data['annee'];
}
// on crée la requête SQL
$sql= "SELECT coutmiseculture FROM gestion";
// on envoie la requête
$req= mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data= mysql_fetch_assoc($req);
{
$coutmiseculture=$data['coutmiseculture'];
}
// on crée la requête SQL
$sql= "SELECT argent, ble, chasse, peche, bois, cueillette, terres_vierges FROM informations";
// on envoie la requête
$req= mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data= mysql_fetch_assoc($req);
{
$argent=$data['argent'];
$ble=$data['ble'];
$chasse=$data['chasse'];
$peche=$data['peche'];
$bois=$data['bois'];
$cueillette=$data['cueillette'];
$terres_vierges=$data['terres_vierges'];
}
if(isset($_POST) && $terres_vierges <=($_POST['ble'] + $_POST['chasse'] + $_POST['peche'] + $_POST['bois'] + $_POST['cueillette'])) {
extract($_POST);
$somme= ($_POST['ble']*$coutmiseculture) + ($_POST['chasse']*$coutmiseculture) + ($_POST['peche']*$coutmiseculture) + ($_POST['bois']*$coutmiseculture) + ($_POST['cueillette']*$coutmiseculture);
$newble=($ble)+ ($_POST['ble']);
$newchasse=($chasse)+ ($_POST['chasse']);
$newpeche=($peche)+ ($_POST['peche']);
$newbois=($bois)+ ($_POST['bois']);
$newcueillette=($cueillette)+ ($_POST['cueillette']);
// on envoie les données dans la table informations
mysql_query("UPDATE informations SET terres_vierges='$terres_vierges' - ('".$_POST['ble']."' + '".$_POST['chasse']."' + '".$_POST['peche']."' + '".$_POST['bois']."' + '".$_POST['cueillette']."') WHERE login='".$_SESSION['login']."'");
mysql_query("UPDATE informations SET ble='$newble' WHERE login='".$_SESSION['login']."' ");
mysql_query("UPDATE informations SET chasse='$newchasse' WHERE login='".$_SESSION['login']."' ");
mysql_query("UPDATE informations SET peche='$newpeche' WHERE login='".$_SESSION['login']."' ");
mysql_query("UPDATE informations SET bois='$newbois' WHERE login='".$_SESSION['login']."' ");
mysql_query("UPDATE informations SET cueillette='$newcueillette' WHERE login='".$_SESSION['login']."' ");
echo '<p>Vous avez engagé les indiens d\'HOCHELAGA pour travailler sur vos terres et cela vous coûte la somme de '.$somme.' écus.</p><br/>
<span class="double"><a href="location.PHP"> REVENEZ A VOS TERRES </a></span>';}
else {
echo '<p>Vous ne disposez pas des terres suffisantes pour donner ces ordres.<br/>
<span class="double"><a href="location.PHP"> REVENEZ A VOS TERRES </a></span>';
exit;
}
mysql_query("UPDATE informations SET argent=argent-$somme WHERE login='".$_SESSION['login']."' ");
mysql_query("INSERT INTO paiements(id, date, payeur, beneficiaire, motifdepense, sommedepense) VALUES('','$saison $annee','".$_SESSION['login']."','AUTRE','mise en gestion des terres','$somme')");
// on ferme la connexion à mysql
mysql_close();
?>
<br/>
</div>
</body>
</html>
MERCI DE M'AIDER !!!!

Je savais que j'étais mauvais en maths mais quand même !
J'ai demandé dans un script de mise en culture de terres que l'ordi ajoute des terres à des terres déjà mises en culture...
Rien de bien compliqué, des additions !
Et bien, j'hallucine , l'ordi ajoute 100 à 100, soit 200 ( bravo ordi )
puis il ajoute 50 à 200 soit 250 ( waoo il est fort ! ) et là, je continue, et il ajoute 100 à 250 soit 95 par exemple !
ARRRRGGGHHH !!!!
Voilà le code entier, j'ai tout vérifié, et j'ai même compliqué les choses en enlevant mes opérations de la requête UPDATE et la remplaçant par une variable calculée avant, mais rien n'y fait !
Où est-ce que je pêche ?
Je mets l apage entière, parce que ça vient peut-être de mes multiples requêtes AVANT !
En sachant que c'est une page de traitement d'un formulaire....
[php]<?session_start();?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>traitement des terres</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" href="style/location.css" type="text/css" />
</head>
<body>
<div id="bas">
<?
// on se connecte à MySQL
$db = mysql_connect('localhost', 'root', '');
// on sélectionne la base
mysql_select_db('colons',$db);
// on crée la requête SQL
$sql = "SELECT saison, annee FROM temps";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
{
$saison=$data['saison'];
$annee=$data['annee'];
}
// on crée la requête SQL
$sql= "SELECT coutmiseculture FROM gestion";
// on envoie la requête
$req= mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data= mysql_fetch_assoc($req);
{
$coutmiseculture=$data['coutmiseculture'];
}
// on crée la requête SQL
$sql= "SELECT argent, ble, chasse, peche, bois, cueillette, terres_vierges FROM informations";
// on envoie la requête
$req= mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data= mysql_fetch_assoc($req);
{
$argent=$data['argent'];
$ble=$data['ble'];
$chasse=$data['chasse'];
$peche=$data['peche'];
$bois=$data['bois'];
$cueillette=$data['cueillette'];
$terres_vierges=$data['terres_vierges'];
}
if(isset($_POST) && $terres_vierges <=($_POST['ble'] + $_POST['chasse'] + $_POST['peche'] + $_POST['bois'] + $_POST['cueillette'])) {
extract($_POST);
$somme= ($_POST['ble']*$coutmiseculture) + ($_POST['chasse']*$coutmiseculture) + ($_POST['peche']*$coutmiseculture) + ($_POST['bois']*$coutmiseculture) + ($_POST['cueillette']*$coutmiseculture);
$newble=($ble)+ ($_POST['ble']);
$newchasse=($chasse)+ ($_POST['chasse']);
$newpeche=($peche)+ ($_POST['peche']);
$newbois=($bois)+ ($_POST['bois']);
$newcueillette=($cueillette)+ ($_POST['cueillette']);
// on envoie les données dans la table informations
mysql_query("UPDATE informations SET terres_vierges='$terres_vierges' - ('".$_POST['ble']."' + '".$_POST['chasse']."' + '".$_POST['peche']."' + '".$_POST['bois']."' + '".$_POST['cueillette']."') WHERE login='".$_SESSION['login']."'");
mysql_query("UPDATE informations SET ble='$newble' WHERE login='".$_SESSION['login']."' ");
mysql_query("UPDATE informations SET chasse='$newchasse' WHERE login='".$_SESSION['login']."' ");
mysql_query("UPDATE informations SET peche='$newpeche' WHERE login='".$_SESSION['login']."' ");
mysql_query("UPDATE informations SET bois='$newbois' WHERE login='".$_SESSION['login']."' ");
mysql_query("UPDATE informations SET cueillette='$newcueillette' WHERE login='".$_SESSION['login']."' ");
echo '<p>Vous avez engagé les indiens d\'HOCHELAGA pour travailler sur vos terres et cela vous coûte la somme de '.$somme.' écus.</p><br/>
<span class="double"><a href="location.PHP"> REVENEZ A VOS TERRES </a></span>';}
else {
echo '<p>Vous ne disposez pas des terres suffisantes pour donner ces ordres.<br/>
<span class="double"><a href="location.PHP"> REVENEZ A VOS TERRES </a></span>';
exit;
}
mysql_query("UPDATE informations SET argent=argent-$somme WHERE login='".$_SESSION['login']."' ");
mysql_query("INSERT INTO paiements(id, date, payeur, beneficiaire, motifdepense, sommedepense) VALUES('','$saison $annee','".$_SESSION['login']."','AUTRE','mise en gestion des terres','$somme')");
// on ferme la connexion à mysql
mysql_close();
?>
<br/>
</div>
</body>
</html>[/php]
MERCI DE M'AIDER !!!! :cry: