j'ai un petit probleme dans l'une de mes requetes.
J'ai 2 listes déroulante dont je récupere le résultat, et je voudrais comparer ses 2 résultat avec une conditions.
Si le résultat de la premiere liste déroulante est inferieur a la deuxieme alors on modifie les point maxi de l'adversaires sinon on ne fais rien.
J'ai aucune erreur d'afficher a l'ecran, mais ca ne modifie rien
voici mon code:
<?php
//Si l'action de "valider" a été faite
if(isset($_POST["Valider"]))
{
if (isset($_POST['equipier']) AND isset($_POST['resultat']) AND isset($_POST['adversaire']))
{
$equipier = htmlentities($_POST['equipier']);
$resultat = htmlentities($_POST['resultat']);
$adversaire = htmlentities($_POST['adversaire']);
$fight=mysql_query("select Fightvalue from stats WHERE Clodo=$equipier") or die('Erreur SQL !
'.$fight.mysql_error());
while ($ligne = mysql_fetch_object($fight))
{
$FightvalueEquipier = $ligne->Fightvalue;
}
$fight2=mysql_query("select Maxi from stats WHERE Adversaire=$adversaire") or die('Erreur SQL !
'.$fight2.mysql_error());
while ($ligne1 = mysql_fetch_object($fight2))
{
$FightvalueAdversaire = $ligne1->Fightvalue;
}
if($fight<$fight2);{
$requete=mysql_query("UPDATE stats SET Maxi=$fight WHERE Adversaire=$adversaire");
}
}
}
Ma question etait est-ce que toutes les conditions sont réunit pour que le programme passe dans sur l'instruction UPDATE
Il passe peut etre dans le else
if($fight<$fight2);{
$requete=mysql_query("UPDATE stats SET Maxi=$fight WHERE Adversaire=$adversaire");
}
alors que je pense que tu devrais mettre
if($FightvalueEquipier<$FightvalueAdversaire);{
$requete=mysql_query("UPDATE stats SET Maxi=$fight WHERE Adversaire=$adversaire");
}
J'ai juste remplacer fight1 et fight2 par les valeur que tu récupère dans les boucles while.
D'ailleurs si chaque joueur à qu'une seule valeur "Maxi" dans la table stats, tu n'as pas besoin de faire de boucle while.
Tu peux remplacer :
while ($ligne1 = mysql_fetch_object($fight2))
{
$FightvalueAdversaire = $ligne1->Fightvalue;
}
PAR :
$ligne1 = mysql_fetch_object($fight2);
$FightvalueAdversaire = $ligne1->Fightvalue;
Désoler je m'étais trompé de condition :
Et de plus il y avait un ";" en trop qui trainait après ton if
if($FightvalueEquipier<$FightvalueAdversaire){
$sql = "UPDATE stats SET Maxi=$fight WHERE Adversaire=$adversaire";
echo $sql;
$requete=mysql_query($sql);
}
Es-tu sûr qu'il passe dans tes premières conditions ?
Mets plusieurs echo à différents endroits de ton code (après chaque condition) pour voir à partir de où il s'arrête.
Nous somme sur un forum ici, non ?
Ces MP sont totalement contraire à cet esprit
@Guilstunt :
C'est une blague que tu nous fais ?
Non seulement tu n'as pas la décence de répondre aux personnes qui prennent du temps pour te répondre mais en plus tu ne tiens pas compte de ce qu'ils te disent (ou si peu), sans compter le doublon
y a des fois on se demande vraiment pourquoi on réponds à des personnes qui n'en ont rien à foutre de ce qu'on leur dit et qui attendent du code tout fait.