UPDATE mais RIEN ne se passe... problème de BOUCLE ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : UPDATE mais RIEN ne se passe... problème de BOUCLE ?

par ItaloBADI » 29 oct. 2005, 23:32

D'accord.

Je vais modifier mon code de cette page donc...

J'avoue pour la concaténation que j'avais lu quelque part que cela existait, et j'avais bien vu que c'était utile, mais je ne savais pas s'il existait des règles pour le faire ou non.

Quand je mets '".$annee."' c'est parce que je recopie sur un script dans une de mes pages où ça fonctionne.
De même, j'avais vu que set achatscolons=$ajoutcolons fonctionnait, je n'étais pas allé plus loin.

Je vais tenter de bien retenir tout ça.

AUTREMENT, j'ai contourné le problème en faisant une chose simple :

les MJ's devront sélectionner le login sur lequel ils feront la manipulation, cela permettra de prendre pour chacun des chiffres au hasard, sans savoir quels sont ses choix de récoltes, et les exploitations des terres ne seront pas identiques pour tous.

VOILA.

Donc je mets en RESOLU, même si à ce jour je ne sais pas comment je peux traiter cette page pour tous les logins à la suite, de manière automatique, et en fonction chacun de leurs caractéristiques.

MERCI encore à ceux qui ont pris le temps de m'aider...

par Cyrano » 29 oct. 2005, 22:54

Pour organiser ton code, il faut essayer d'ligner et d'aérer un peu pour t'y retrouver.

Il y a aussi des règles à suivre: par exemple on ne traite pas des entiers comme des chaines de caractères, y compris en SQL. Cette requête par exemple revue et corrigée, je te laisse le soin de voir la modification (à par l'alignement:
mysql_query("UPDATE informations ".
            "SET terres_vierges = ".$newterres_vierges.", ".
                "ble = 0, ".
                "chasse = 0, ".
                "peche = 0, ".
                "bois = 0, ".
                "cueillette = 0, ".
                "rapport = ". $newrapport .", ".
                "argent = ".$newargent." ".
            "WHERE login ='ItaloBADI'");
D'autres déails : dans une requête, tu fais parfois une concaténation correcte, mais parfois pas de concaténation du tout voire les deux possibilités dans la même requête :
mysql_query("UPDATE depenses SET achatscolons=". $ajoutachats ." WHERE date='".$annee."'");
Note qu'on concatène pour faciliter également le fonctionnement du parseur PHP qui traitera plus rapidement les chaines de caractères en détectant beaucoup plus rapidement ce qui est "chaine de caractère" et ce qui est "php".

Compare ces deux exemples avec ton propre code au dessus, tu verras toi même. Ce genre de petits détails accumulés finit par provoquer des confusions et des erreurs aussi.

par ItaloBADI » 29 oct. 2005, 22:44

lol ça décale les lignes, mais sur mon code, c'est bien aligné lol :wink:

par ItaloBADI » 29 oct. 2005, 22:32

Cyrano,

je sais que je suis encore brouillon, et je te remercie, je vais tâcher de coder pàlus soigneusement pour 1- mieux me comprendre et chercher mes erreurs 2- être mieux compris par les autres qui prennent du temps pour m'aider... :wink:


MAIS en fait, j'ai fait autrement.

J'ai testé dans une page test les diférentes requêtes.
Elles fonctionnaient, mais c'était comme si c'était à partir de $_POST ayant pour valeur ZERO.

A moins qu'agissant en boucle, et comme je demandais de remettre en fin de requête les terres à ZERO, elles recommençaient le calcul et terminait par multiplier par ZERO !

Bref, j'ai décidé de traiter le problème à la base :
mon script est trop compliqué.

J'ai donc d'abord fait un formulaire pour décider des quotas, et les envoyer dans un tableau.
ENSUITE, j'ai remplacé tout simplement les $_POST actuels du formulaire qui me cause problème par un INSERT à partir du tableau.
Et comme je vaux éviter les problèmes de boucle, afin de VOIR déjà si mon code fonctionne correctement, j'ai mis juste avec un login ' ItaloBADI'.

ET LA CA FONCTIONNE.

MA QUESTION EST COMMENT PUIS-JE CHANGER MON SCRIPT POUR LE TRANSFORMER DE :
on fait tout ça pour un perso
A
on fait tout ça pour tous les logins de la table un à un avec leurs propres infos.

UNE BOUCLE ?
Mais le problème semblait venir de là...

Voilà le code qui fonctionne avec un seul login :
( je tâche de mieux présenter, comme toi... )
<?session_start();
include('connect.php');
?>
<!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 récoltes</title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	    <link rel="stylesheet" href="style/mj.css" type="text/css" />
   </head>
   <body> 
<div id="menu">
<? 
// 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 nbble,nbchasse,nbpeche,nbbois,nbcueillette FROM quotas";   
// 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);
 
    $nbble 			= $data['nbble']; 
    $nbchasse 		= $data['nbchasse'];
    $nbpeche 		= $data['nbpeche'];
    $nbbois 		= $data['nbbois'];
    $nbcueillette 	                = $data['nbcueillette'];


// on crée la requête SQL 
$sql = "SELECT login,argent,ble,chasse,peche,bois,cueillette, terres_vierges FROM informations WHERE login='ItaloBADI'";   
// 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);
 
    $login 			= $data['login']; 
    $argent 		= $data['argent']; 
    $ble 			= $data['ble']; 
    $chasse 		= $data['chasse']; 
    $peche 			= $data['peche']; 
    $bois 			= $data['bois']; 
    $cueillette 	                = $data['cueillette']; 
    $terres_vierges	                = $data['terres_vierges']; 
	


//je calcule les terres vierges pour les réinitialiser plus tard, à partir des terres mises en cultures avant transformation. 
$newterres_vierges=$terres_vierges+$ble+$chasse+$peche+$bois+$cueillette; 
     
     $gainble                               =	$ble			*	$nbble; 
     $gainchasse		=	$chasse			*	$nbchasse; 
     $gainpeche			=	$peche			*	$nbpeche; 
     $gainbois			=	$bois			*	$nbbois; 
     $gaincueillette	=	$cueillette		*	$nbcueillette; 
     $newrapport		=	$gainble 	+  $gainchasse +  $gainpeche +  $gainbois +  $gaincueillette; 
     $newargent			=	$argent	 	+  $newrapport; 
	
			mysql_query("UPDATE informations SET terres_vierges='".$newterres_vierges."', 
				ble='0', 
				chasse='0', 
				peche='0', 
				bois='0', 
				cueillette='0', 
				rapport='".$newrapport."', 
				argent='".$newargent."' WHERE login ='ItaloBADI'"); 


     //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 = $data['achatscolons']; 

		$ajoutachats=$anciensoldachats-$newrapport; 
     
				mysql_query("UPDATE depenses SET achatscolons=$ajoutachats WHERE date='".$annee."'"); 
     
     //ON va  maintenant procéder à l'achat des denrées par la ville 
     // on crée la requête SQL 
$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); 

		$ancienexport = $data['exportations']; 

		$ajout=$newrapport*2;
	 
		$ajoutexport=$ancienexport+$ajout;
     
				mysql_query("UPDATE recettes SET exportations=$ajoutexport WHERE date='".$annee."'"); 
	 
    // 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   
?> 
</div>
   </body>
</html>

par Cyrano » 29 oct. 2005, 22:00

T'est-il venu à l'idée de vérifier les requêtes générées ??? echo($requête), c'est pourtant simple comme idée me semble, tu verrais si les valeurs correspondent à quelue chose de cohérent. En attendant, je t'avais montré comment ranger le début du code, ça ne t'a pas inspiré beaucoup pour la seconde partie: tu y aurais vu des possibilités d'erreur :
<?php
// 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)
)
{
?>
<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>
<?php
    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];
            
            $nouveausoldeachat = $anciensoldachats + $alldepenses;

            mysql_query("UPDATE depenses SET achatscolons=". $nouveausoldeachat ." 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'];
            
            $nouveausoldeexport = $anciensoldexport + ($alldepenses * 1.2);

            mysql_query("UPDATE exportations SET achatscolons = ". $nouveausoldeexport ." 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...
?>
<p>Vous avez procédé aux ventes automatiques des produits des colons, à leur achat par la ville <?php echo($_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>
<?php
    }
}

mysql_close();  // on ferme la connexion
?>
Ajoute éventuellement l'affichage des requêtes.

par ItaloBADI » 29 oct. 2005, 21:13

TOUT est toujours et immanquablement msi à ZERO :

ble, chasse, bois, etc.. argent, et même terres_vierges !

Les données achatscolons et exportations ne sont pas renseignées !

JE N'Y COMPRENDS RIEN !

Première fois que ça bloque comme ça.

par ItaloBADI » 29 oct. 2005, 21:02

J'ai testé avec ce que tu me donnes.

TOUT a été remis à zéro.

DONC le problème ne vient pas de cette requête qui doit fonctionner, plus ou moins comme je le veux.

Le problème numéro UN vient de la BOUCLE.

Je vais la retirer et tout mettre sans boucle.

MAIS alors ça ne fonctionnera PAS pour TOUS les logins de la table, ce que je voulais moi.

MAIS déjà je vais tester cette boucle.

par ItaloBADI » 29 oct. 2005, 20:57

login, c'est un nom, à chaque fois.


SINON, je sais où est le premier problème.
C'est ma boucle.

Je demande EN BOUCLE que les logins aient certaines opérations à partir des terres mises en blé, chasse, etc...

Ainsi , je demande un calcul pour paiement des gains, etc...

OR, à la suite de ces opérations, je rends ces terres en terres vierges, donc, je fais UPDATE ble= O etc etc ET retour de ces terres dans terres_vierges.

OR, une fois ces terres à ZERO, la BOUCLE agit.
ça recommence.
ET les calculs se refont avec les terres étant à zéro, donc les fonds du login tombent à ZERO !
Et les terres vierges suivantes étant la somme des terres étant à ZERO elles tombent à ZERO.
Bref, tout est à ZERO.

par DocType » 29 oct. 2005, 20:45

essaie
$req = "UPDATE informations SET serres_vierges='".$newterres_vierges[$i]."', 
ble='0', 
chasse='0', 
peche='0', 
bois='0', 
cueillette='0', 
rapport='".$newrapport[$i]."', 
argent='".$newargent[$i]."' WHERE login <>'".$login[$i]."'"; 
et j'espère que login est une valeur numéraire, car sinon ca risque d'être le bazar...

par ItaloBADI » 29 oct. 2005, 20:45

ça agit désormais.

MAIS pas comme prévu.

ça met TOUT à ZERO.

:?: :?: :?: :?

par ItaloBADI » 29 oct. 2005, 20:35

Cyrano m'a averti pour les <> au lieu de !=, et je croyais avoir changé ça, oups :oops:

Pour la requête, c'est vrai que le ; est étonnant, mais comme je l'ai reprise sur ce forum justement dans une requête corrigée pour quelqu'un, j'ai cru qu'il fallait le laisser.

Je l'enlève et vérifie si ça fonctionne, car finalement, c'est sur cette requête là que ça bloque.

Les S_POST sont reconnus.
Les variables aussi.
Les UPDATE également à la fin, pour changer les comptes de l'état ( achatscolons et exportations )

le problème est donc effectivement sur cette requête-là.

Je vérifie. Et je vous dis.

par DocType » 29 oct. 2005, 20:25

dans tes requêtes, utilise <> pour la différence et non !=
Verifie également tes requêtes une par une...
Dans une requête, tu as un ; a la fin, normal ? :roll:

UPDATE mais RIEN ne se passe... problème de BOUCLE ?

par ItaloBADI » 29 oct. 2005, 20:19

BONJOUR à tous...
Désolé de vous déranger... :oops:

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   
?>