Décrémenter un champs des qu'un autre est vide

Eléphant du PHP | 186 Messages

02 août 2006, 13:05

Bonjour,

Voila j'ai un petit probleme

J'ai ajouté des données dans un base :

exemple :
Jus : 20
Orange : 8

J'exécute ensuite un formaulire ou la personne entre un nombre ex : 22

J'aimerais enquite que cela vide les valeur des champs et met a zero celle la des que c'est vidé en français lol (Décrémenter un champs des qu'un autre est vide)

exemple :
avec 22
jus serait egal à 0 (22-20)
Orange serait egal a 6 (8-2)

Le probleme c'est que je ne sais pas comment faire pour que cela s'arret de débité la valeur des que celle-ci a atteint zero et que sa prenne ensuite sur l'autre valeur le rest

Merci de votre aide

je vous donne un peu la structure si cel apeut vous aidé
$reponse2 = mysql_query("SELECT Nb_valeur FROM Sauvegarde WHERE MEMBRE='".$_SESSION['membre_id']."' AND Site='OUI' AND Type='Jus'"); // Requête SQL
$reponse3 = mysql_query("SELECT Nb_valeur FROM Sauvegarde WHERE MEMBRE='".$_SESSION['membre_id']."' AND Site='OUI' AND Type='Orange'"); // 


// on fait une boucle qui va faire un tour pour chaque enregistrement 
while($data1 = mysql_fetch_assoc($reponse2)) 
    { 
    // on affiche les informations de l'enregistrement en cours 
	$nb_valeur = $data1['Nb_valeur'];
    }

// on fait une boucle qui va faire un tour pour chaque enregistrement 
while($data2 = mysql_fetch_assoc($reponse3)) 
    { 
    // on affiche les informations de l'enregistrement en cours 
	$nb_valeur1 = $data2['Nb_valeur'];
    }
Merci à tous :wink:

Eléphant du PHP | 88 Messages

03 août 2006, 10:18

Salut.

Je ne suis pas sûr d'avoir tout compris. Tu veux que la valeur entrée par l'utilisateur soit retirée à ton nombre de jus et d'orange, c'est cela?

si oui, tu peux faire :
$reponse2 = mysql_query("SELECT Nb_valeur FROM Sauvegarde WHERE MEMBRE='".$_SESSION['membre_id']."' AND Site='OUI' AND Type='Jus'");

$reponse3 = mysql_query("SELECT Nb_valeur FROM Sauvegarde WHERE MEMBRE='".$_SESSION['membre_id']."' AND Site='OUI' AND Type='Orange'");

while($data1 = mysql_fetch_assoc($reponse2)){
    $nb_jus = $data1['Nb_valeur'];
    // la valeur de $nb_jus vaut 20
}

while($data1 = mysql_fetch_assoc($reponse3)){
    $nb_orange = $data1['Nb_valeur'];
    // la valeur de $nb_orange vaut 8
}

$valeur_utilisateur = $_GET["valeur_user"];
//ici $valeur_utilisateur vaut 22

if ($nb_jus-$valeur_utilisateur>=0){//ici ce n'est pas le cas
  $nb_jus -= $valeur_utilisateur;
  $valeur_utilisateur = 0;
}
else{ // donc on passe dans le else
  $valeur_utilisateur -= $nb_jus; //la nouvelle valeur vaut 22-20 = 2
  $nb_jus=0; //$nb_jus vaut 0
  if ($nb_orange$valeur_utilisateur>=0){ // c'est le cas
    $nb_orange -= $valeur_utilisateur; // la valeur vaut 8 - 2 = 6
    $valeur_utilisateur = 0; // et la valeur est à 0
  }
  else{
    $valeur_utilisateur -= $nb_orange;
    $nb_orange=0;
  }
  // et tu continues avec d'autres produits.... jusqu'à ce que la valeur soit à 0
}
@+