Désolé de vous déranger...
Voilà, il s'agit d'un code qui avait un problème sur le formulaire, qui a été résolu.
Maintenant les POST sont bien définis, MAIS les requêtes UPDATE ne fonctionnent pas.
Je pense que c'est un problème de boucle.
Car si je fais la même chose en définissant un login précis, ça fontionnait.
Comment est-ce que je fais pour le faire faire à TOUS les logins de la table ?
Voici le code complet après la connexion à la BDD :
// 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 commence par récupérer les champs
$nbble = (isset($_POST['nbble'])) ? $_POST['nbble'] : "";
$nbchasse = (isset($_POST['nbchasse'])) ? $_POST['nbchasse'] : "";
$nbpeche = (isset($_POST['nbpeche'])) ? $_POST['nbpeche'] : "";
$nbbois = (isset($_POST['nbbois'])) ? $_POST['nbbois'] : "";
$nbcueillette = (isset($_POST['nbcueillette'])) ? $_POST['nbcueillette'] : "";
// On vérifie si les champs sont vides
if(
isset($_POST['nom_bouton_submit']) &&
empty($nbble) &&
empty($nbchasse) &&
empty($nbpeche) &&
empty($nbbois) &&
empty($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>'; exit;
}
// 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[$i]);
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];
$req = "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]."';";
$result = mysql_query($req) or die(mysql_error());
//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'];
mysql_query("UPDATE exportations SET achatscolons=$anciensoldexport+($alldepenses*1.2) 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 J'AI AJOUTE DES VERIFICATIONS DES S_POST pour voir s'ils étaient bien reçus...
echo '<p>Vous avez procédé aux ventes automatiques des produits des colons, à leur achat par la ville '.$_POST['nbble'].'AND '.$_POST['nbchasse'].' AND '.$_POST['nbpeche'].' AND '.$_POST['nbbois'].' AND '.$_POST['nbcueillette'].'<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
?>