guilstunt
Messages postés52Date d'inscriptionjeudi 11 février 2010StatutMembreDernière intervention 1 mars 2016
-
25 oct. 2010 à 08:52
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 2012
-
25 oct. 2010 à 13:22
Bonjour a tous,
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");
}
}
}
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201137 25 oct. 2010 à 11:21
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
cs_ludwig59
Messages postés128Date d'inscriptionlundi 21 avril 2008StatutMembreDernière intervention 6 mai 20112 25 oct. 2010 à 11:24
Bonjour
Dans ton code tu met :
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;
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_ludwig59
Messages postés128Date d'inscriptionlundi 21 avril 2008StatutMembreDernière intervention 6 mai 20112 25 oct. 2010 à 11:44
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);
}
cs_ludwig59
Messages postés128Date d'inscriptionlundi 21 avril 2008StatutMembreDernière intervention 6 mai 20112 25 oct. 2010 à 11:52
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.
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 25 oct. 2010 à 13:22
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.