J'ai un problème avec un traitement de formulaire.
C'est une MEGA requête ( du moins à mes yeux )... Et je ne savais pas comment faire, j'ai donc utilisé la logique , en procédant étape par étape, et je m'attendais pour ce gros morceau-là à ne pas réussir, mais là, l'erreur annoncée me sidère...
ça fait comme si j'avais oublié de remplir un champ...
OR, ils sont bien remplis.
Cela viendrait-il de mon code ?
Si une âme charitable veut prendre le temps de se pencher dessus, et de m'excuser
MERCI d'avance....
<?
// on crée la requête SQL
$sql = "SELECT saison, annee FROM temps";
// on envoie la requête :oops:
$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 commence par récupérer les champs
if(isset($_POST['nbble'])) $nbble=$_POST['nbble'];
else $nbble="";
if(isset($_POST['nbchasse'])) $nbchasse=$_POST['nbchasse'];
else $nbchasse="";
if(isset($_POST['nbpeche'])) $nbpeche=$_POST['nbpeche'];
else $nbpeche="";
if(isset($_POST['nbbois'])) $nbbois=$_POST['nbbois'];
else $nbbois="";
if(isset($_POST['nbcueillette'])) $nbcueillette=$_POST['nbcueillette'];
else $nbcueillette="";
// On vérifie si les champs sont vides
if(isset($_POST) && empty($_POST['nbble']) && empty($_POST['nbchasse']) && empty($_POST['nbpeche']) && empty($_POST['nbbois']) && empty($_POST['nbcueillette']))
{
echo '<p>Vous avez oublié de faire un choix de quota.</p><br/><br/><br/><br/>
<span class="double"><a href="mj_terres.PHP">REVENEZ A VOTRE GESTION DES TERRES. </a></span>';
}
// Aucun champ n'est vide, on peut enregistrer dans la table
else
{
// on crée la requête SQL
$sql = "SELECT login,argent,ble,chasse,peche,bois,cueillette, terres_vierges FROM informations WHERE login !='HOCHELAGA' AND login!='divers' ORDER BY id DESC";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
// on affiche les informations de l'enregistrement en cours
while($row = mysql_fetch_assoc($req))
{
$login[] = $row['login'];
$argent[] = $row['argent'];
$ble[] = $row['ble'];
$chasse[] = $row['chasse'];
$peche[] = $row['peche'];
$bois[] = $row['bois'];
$cueillette[] = $row['cueillette'];
$terres_vierges[] = $row['terres_vierges'];
}
$nb = count($login);
for($i = 0; $i < $nb; $i++)
{
//je calcule les terres vierges pour les réinitialiser plus tard, à partir des terres mises en cultures avant transformation.
$newterres_vierges[$i]=$terres_vierges[$i]+$ble[$i]+$chasse[$i]+$peche[$i]+$bois[$i]+$cueillette[$i];
$gainble[$i]=$ble[$i]*$nbble;
$gainchasse[$i]=$chasse[$i]*$nbchasse;
$gainpeche[$i]=$peche[$i]*$nbpeche;
$gainbois[$i]=$bois[$i]*$nbbois;
$gaincueillette[$i]=$cueillette[$i]*$nbcueillette;
$newrapport[$i]=$gainble[$i]+$gainchasse[$i]+$gainpeche[$i]+$gainbois[$i]+$gaincueillette[$i];
$newargent[$i]=$argent[$i]+$newrapport[$i];
// on envoie les données dans la table informations
$sql_maj = "UPDATE informations ".
"SET terres_vierges='". $newterres_vierges[$i] ."', ".
"ble='0', ".
"chasse='0', ".
"peche='0', ".
"bois='0', ".
"cueillette='0' ".
"rapport='". $newrapport[$i] ."' ".
"argent='". $newargent[$i] ."' ".
"WHERE login='".$login[$i]."'";
mysql_query($sql_maj);
//ON va maintenant procéder à l'achat des denrées par la ville
// on crée la requête SQL
$sql = "SELECT achatscolons FROM depenses WHERE date='".$annee."'";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
// on affiche les informations de l'enregistrement en cours
$data= mysql_fetch_assoc($req);
$anciensoldachats = $row['achatscolons'];
$alldepenses=$newrapport[$i++];
mysql_query("UPDATE depenses SET achatscolons=$anciensoldachats+$alldepenses WHERE date='".$annee."'");
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
//ON va maintenant procéder à la vente automatique des denrées par la ville
$sql = "SELECT exportations FROM recettes WHERE date='".$annee."'";
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
// on affiche les informations de l'enregistrement en cours
$data= mysql_fetch_assoc($req);
$anciensoldexport = $row['exportations'];
$export=$alldepenses*1.2;
mysql_query("UPDATE exportations SET achatscolons=$anciensoldexport+$export WHERE date='".$annee."'");}
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
// on prévient le MJ que tout cela est fait
echo '<p>Vous avez procédé aux ventes automatiques des produits des colons, à leur achat par la ville<br/>
et à l\'exportation automatique de ces denrées.</p><br/><br/><br/><br/>
<span class="double"><a href="mj_terres.PHP">REVENEZ A VOTRE GESTION DES TERRES. </a></span>';}
mysql_close(); // on ferme la connexion
?>