Php pb SQL
Utilisateur anonyme
-
damien -
damien -
Bonjour,
Ce code ne marche pas mais je vis pas pourquoi.
<?php
mysql_connect("localhost", "kevin", "");
mysql_select_db("kevin");
$pseudo=$_SESSION['login_session'];
$reponse31 = mysql_query("SELECT * FROM attaque WHERE pseudoatt ='$pseudo'");
$dts=time();
while ($donnees31 = mysql_fetch_array($reponse31) )// donnees de l'attaque
{
$a1=$donnees31['pseudoatt'];
$a2=$donnees31['pseudodef'];
$a3=$donnees31['timestampfin'];
if ($dts >= $a3)
{
//attaquant
$reponse99 = mysql_query("SELECT * FROM qgjoueur WHERE pseudo ='$a1'");
$donnees99 = mysql_fetch_array($reponse99);
//defenseur
$reponse98 = mysql_query("SELECT * FROM qgjoueur WHERE pseudo ='$a2'");
$donnees98 = mysql_fetch_array($reponse98);
//attaque total
$att=($donnees31['pingouinatt']) + ($donnees31['guerrieratt']) + ($donnees31['float1att'])
+ ($donnees31['float2att']) + ($donnees31['float3att']) + ($donnees31['float0att']) + ($donnees31['float5att'])
+ ($donnees31['avionatt']) + ($donnees31['eclairatt']);
//defense total
$def= ($donnees98['def']) + ($donnees98['pingouindef']*3) + ($donnees98['guerrierdef']*25) + ($donnees98['float1def']*5)
+ ($donnees98['float2def']*10) +($donnees98['float3def']*25) +($donnees98['float0def']*45) +($donnees98['aviondef']*125000);
if ($att > $def) // l'attaquant gagne
{
//attaquant
$a4 = $donnees99['pingouin'] + $donnees31['pingouinatt'] ;
$a5 = $donnees99['guerrier'] + $donnees31['guerrieratt'] ;
$a6 = $donnees99['float1'] + $donnees31['float1att'] ;
$a7 = $donnees99['float2'] + $donnees31['float2att'] ;
$a8 = $donnees99['float3'] + $donnees31['float3att'] ;
$a9 = $donnees99['float0'] + $donnees31['float0att'] ;
$a10 = $donnees99['float5'] + $donnees31['float5att'] ;
$a11 = $donnees99['avion'] + $donnees31['avionatt'] ;
$a12 = $donnees99['eclair'] + $donnees31['eclairatt'] ;
// le defenseur perd tout puis perte de niveau de recherche
if($donnees98['recherche'] < 10 )
{
$b1 = $donnees98['recherche'] - 1;
$b2 = $donnees99['recherche'] + 1;
$b3 = $donnees99['Argent'] + 10000000;
}
elseif($donnees98['recherche'] < 20 )
{
$b1 = $donnees98['recherche'] - 2;
$b2 = $donnees99['recherche'] + 2;
$b3 = $donnees99['Argent'] + 20000000;
}
elseif($donnees98['recherche'] < 50 )
{
$b1 = $donnees98['recherche'] - 5;
$b2 = $donnees99['recherche'] + 5;
$b3 = $donnees99['Argent'] + 50000000;
}
elseif($donnees98['recherche'] < 100 )
{
$b1 = $donnees98['recherche'] - 10;
$b2 = $donnees99['recherche'] + 10;
$b3 = $donnees99['Argent'] + 100000000;
}
elseif($donnees98['recherche'] < 250 )
{
$b1 = $donnees98['recherche'] - 25;
$b2 = $donnees99['recherche'] + 25;
$b3 = $donnees99['Argent'] + 250000000;
}
elseif($donnees98['recherche'] < 500 )
{
$b1 = $donnees98['recherche'] - 50;
$b2 = $donnees99['recherche'] + 50;
$b3 = $donnees99['Argent'] + 500000000;
}
elseif($donnees98['recherche'] < 800 )
{
$b1 = $donnees98['recherche'] - 80;
$b2 = $donnees99['recherche'] + 80;
$b3 = $donnees99['Argent'] +800000000;
}
elseif($donnees98['recherche'] < 1000 )
{
$b1 = $donnees98['recherche'] - 100;
$b2 = $donnees99['recherche'] + 100;
$b3 = $donnees99['Argent'] + 1000000000;
}
elseif($donnees98['recherche'] < 1300 )
{
$b1 = $donnees98['recherche'] - 130;
$b2 = $donnees99['recherche'] + 130;
$b3 = $donnees99['Argent'] + 1300000000;
}
elseif($donnees98['recherche'] < 1800 )
{
$b1 = $donnees98['recherche'] - 180;
$b2 = $donnees99['recherche'] + 180;
$b3 = $donnees99['Argent'] + 1800000000;
}
elseif($donnees98['recherche'] < 2500 )
{
$b1 = $donnees98['recherche'] - 250;
$b2 = $donnees99['recherche'] + 250;
$b3 = $donnees99['Argent'] + 2500000000;
}
else {}
// modif chez defenseur
mysql_query("UPDATE qgjoueur SET recherche = '$b1, def='0', pingouin='0', guerrier='0', float1='0',
float2='0', float3='0', float0='$0', float5='0', avion='0', eclair='0' WHERE pseudo = '$a12'") or die(mysql_error());
// modif chez attaquant
mysql_query("UPDATE qgjoueur SET argent='$b3', recherche = '$b2, pingouin='$a4', guerrier='$a5', float1='$a6', float2='$a7',
float3='$a8', float0='$a9', float5='$a10', avion='$a11', eclair='$a12' WHERE pseudo = '$a11'") or die(mysql_error());
mysql_query("INSERT INTO attacklog VALUES (NULL, '$pseudo','$b2','".$donnees31['pingouinatt']."','".$donnees31['guerrieratt']."','".$donnees31['float1att']."','".$donnees31['float2att']."','".$donnees31['float3att']."','".$donnees31['float0att']."','".$donnees31['float5att']."','".$donnees31['avionatt']."','".$donnees31['eclairatt']."',
'$a2','".$donnees98['recherche']."','".$donnees98['pingouin']."','".$donnees98['guerrier']."','".$donnees98['float1']."','".$donnees98['float2']."','".$donnees98['float3']."','".$donnees98['float0']."','".$donnees98['float5']."','".$donnees98['avion']."','".$donnees98['eclair']."','$pseudo','$a3')") or die(mysql_error()); //29 a inserer
mysql_query("DELETE FROM attaque WHERE timestampfin = '$a3' AND pseudoatt = '$a1' AND pseudodef = '$a2'") or die(mysql_error());
}
elseif ($att == $def)
{
// modif chez defenseur
mysql_query("UPDATE qgjoueur SET recherche = '$b1, def='0', pingouin='0', guerrier='0', float1='0',
float2='0', float3='0', float0='$0', float5='0', avion='0', eclair='0' WHERE pseudo = '$a12'") or die(mysql_error());
// modif chez attaquant
mysql_query("INSERT INTO attacklog VALUES (NULL, '$pseudo','$b2','".$donnees31['pingouinatt']."','".$donnees31['guerrieratt']."','".$donnees31['float1att']."','".$donnees31['float2att']."','".$donnees31['float3att']."','".$donnees31['float0att']."','".$donnees31['float5att']."','".$donnees31['avionatt']."','".$donnees31['eclairatt']."',
'$a2','".$donnees98['recherche']."','".$donnees98['pingouin']."','".$donnees98['guerrier']."','".$donnees98['float1']."','".$donnees98['float2']."','".$donnees98['float3']."','".$donnees98['float0']."','".$donnees98['float5']."','".$donnees98['avion']."','".$donnees98['eclair']."','$pseudo','$a3')") or die(mysql_error()); //29 a inserer
mysql_query("DELETE FROM attaque WHERE timestampfin = '$a3' AND pseudoatt = '$a1' AND pseudodef = '$a2'") or die(mysql_error());
}
else
{
// l'attaquant perd tout puis perte de niveau de recherche
if($donnees98['recherche'] < 10 )
{
$b1 = $donnees99['recherche'] - 1;
$b2 = $donnees98['recherche'] + 1;
$b3 = $donnees98['Argent'] + 10000000;
}
elseif($donnees98['recherche'] < 20 )
{
$b1 = $donnees99['recherche'] - 2;
$b2 = $donnees98['recherche'] + 2;
$b3 = $donnees98['Argent'] + 20000000;
}
elseif($donnees98['recherche'] < 50 )
{
$b1 = $donnees99['recherche'] - 5;
$b2 = $donnees98['recherche'] + 5;
$b3 = $donnees98['Argent'] + 50000000;
}
elseif($donnees98['recherche'] < 100 )
{
$b1 = $donnees99['recherche'] - 10;
$b2 = $donnees98['recherche'] + 10;
$b3 = $donnees98['Argent'] + 100000000;
}
elseif($donnees98['recherche'] < 250 )
{
$b1 = $donnees99['recherche'] - 25;
$b2 = $donnees98['recherche'] + 25;
$b3 = $donnees98['Argent'] + 250000000;
}
elseif($donnees98['recherche'] < 500 )
{
$b1 = $donnees99['recherche'] - 50;
$b2 = $donnees98['recherche'] + 50;
$b3 = $donnees98['Argent'] + 500000000;
}
elseif($donnees98['recherche'] < 800 )
{
$b1 = $donnees99['recherche'] - 80;
$b2 = $donnees98['recherche'] + 80;
$b3 = $donnees98['Argent'] +800000000;
}
elseif($donnees98['recherche'] < 1000 )
{
$b1 = $donnees99['recherche'] - 100;
$b2 = $donnees98['recherche'] + 100;
$b3 = $donnees98['Argent'] + 1000000000;
}
elseif($donnees98['recherche'] < 1300 )
{
$b1 = $donnees99['recherche'] - 130;
$b2 = $donnees98['recherche'] + 130;
$b3 = $donnees98['Argent'] + 1300000000;
}
elseif($donnees98['recherche'] < 1800 )
{
$b1 = $donnees99['recherche'] - 180;
$b2 = $donnees98['recherche'] + 180;
$b3 = $donnees98['Argent'] + 1800000000;
}
elseif($donnees98['recherche'] < 2500 )
{
$b1 = $donnees99['recherche'] - 250;
$b2 = $donnees98['recherche'] + 250;
$b3 = $donnees98['Argent'] + 2500000000;
}
else {}
// modif chez defenseur
mysql_query("UPDATE qgjoueur SET argent='$b3',recherche = '$b2 WHERE pseudo = '$a2'") or die(mysql_error());
// modif chez attaquant
mysql_query("UPDATE qgjoueur SET recherche = '$b1 WHERE pseudo = '$a1'") or die(mysql_error());
mysql_query("INSERT INTO attacklog VALUES (NULL, '$pseudo','$b2','".$donnees31['pingouinatt']."','".$donnees31['guerrieratt']."','".$donnees31['float1att']."','".$donnees31['float2att']."','".$donnees31['float3att']."','".$donnees31['float0att']."','".$donnees31['float5att']."','".$donnees31['avionatt']."','".$donnees31['eclairatt']."',
'$a2','".$donnees98['recherche']."','".$donnees98['pingouin']."','".$donnees98['guerrier']."','".$donnees98['float1']."','".$donnees98['float2']."','".$donnees98['float3']."','".$donnees98['float0']."','".$donnees98['float5']."','".$donnees98['avion']."','".$donnees98['eclair']."','$a2','$a3')") or die(mysql_error()); //29 a inserer
mysql_query("DELETE FROM attaque WHERE timestampfin = '$a3' AND pseudoatt = '$a1' AND pseudodef = '$a2'") or die(mysql_error());
}
}
}
?>
...La vie n'est qu'un long parcours d'épreuves...
Ce code ne marche pas mais je vis pas pourquoi.
<?php
mysql_connect("localhost", "kevin", "");
mysql_select_db("kevin");
$pseudo=$_SESSION['login_session'];
$reponse31 = mysql_query("SELECT * FROM attaque WHERE pseudoatt ='$pseudo'");
$dts=time();
while ($donnees31 = mysql_fetch_array($reponse31) )// donnees de l'attaque
{
$a1=$donnees31['pseudoatt'];
$a2=$donnees31['pseudodef'];
$a3=$donnees31['timestampfin'];
if ($dts >= $a3)
{
//attaquant
$reponse99 = mysql_query("SELECT * FROM qgjoueur WHERE pseudo ='$a1'");
$donnees99 = mysql_fetch_array($reponse99);
//defenseur
$reponse98 = mysql_query("SELECT * FROM qgjoueur WHERE pseudo ='$a2'");
$donnees98 = mysql_fetch_array($reponse98);
//attaque total
$att=($donnees31['pingouinatt']) + ($donnees31['guerrieratt']) + ($donnees31['float1att'])
+ ($donnees31['float2att']) + ($donnees31['float3att']) + ($donnees31['float0att']) + ($donnees31['float5att'])
+ ($donnees31['avionatt']) + ($donnees31['eclairatt']);
//defense total
$def= ($donnees98['def']) + ($donnees98['pingouindef']*3) + ($donnees98['guerrierdef']*25) + ($donnees98['float1def']*5)
+ ($donnees98['float2def']*10) +($donnees98['float3def']*25) +($donnees98['float0def']*45) +($donnees98['aviondef']*125000);
if ($att > $def) // l'attaquant gagne
{
//attaquant
$a4 = $donnees99['pingouin'] + $donnees31['pingouinatt'] ;
$a5 = $donnees99['guerrier'] + $donnees31['guerrieratt'] ;
$a6 = $donnees99['float1'] + $donnees31['float1att'] ;
$a7 = $donnees99['float2'] + $donnees31['float2att'] ;
$a8 = $donnees99['float3'] + $donnees31['float3att'] ;
$a9 = $donnees99['float0'] + $donnees31['float0att'] ;
$a10 = $donnees99['float5'] + $donnees31['float5att'] ;
$a11 = $donnees99['avion'] + $donnees31['avionatt'] ;
$a12 = $donnees99['eclair'] + $donnees31['eclairatt'] ;
// le defenseur perd tout puis perte de niveau de recherche
if($donnees98['recherche'] < 10 )
{
$b1 = $donnees98['recherche'] - 1;
$b2 = $donnees99['recherche'] + 1;
$b3 = $donnees99['Argent'] + 10000000;
}
elseif($donnees98['recherche'] < 20 )
{
$b1 = $donnees98['recherche'] - 2;
$b2 = $donnees99['recherche'] + 2;
$b3 = $donnees99['Argent'] + 20000000;
}
elseif($donnees98['recherche'] < 50 )
{
$b1 = $donnees98['recherche'] - 5;
$b2 = $donnees99['recherche'] + 5;
$b3 = $donnees99['Argent'] + 50000000;
}
elseif($donnees98['recherche'] < 100 )
{
$b1 = $donnees98['recherche'] - 10;
$b2 = $donnees99['recherche'] + 10;
$b3 = $donnees99['Argent'] + 100000000;
}
elseif($donnees98['recherche'] < 250 )
{
$b1 = $donnees98['recherche'] - 25;
$b2 = $donnees99['recherche'] + 25;
$b3 = $donnees99['Argent'] + 250000000;
}
elseif($donnees98['recherche'] < 500 )
{
$b1 = $donnees98['recherche'] - 50;
$b2 = $donnees99['recherche'] + 50;
$b3 = $donnees99['Argent'] + 500000000;
}
elseif($donnees98['recherche'] < 800 )
{
$b1 = $donnees98['recherche'] - 80;
$b2 = $donnees99['recherche'] + 80;
$b3 = $donnees99['Argent'] +800000000;
}
elseif($donnees98['recherche'] < 1000 )
{
$b1 = $donnees98['recherche'] - 100;
$b2 = $donnees99['recherche'] + 100;
$b3 = $donnees99['Argent'] + 1000000000;
}
elseif($donnees98['recherche'] < 1300 )
{
$b1 = $donnees98['recherche'] - 130;
$b2 = $donnees99['recherche'] + 130;
$b3 = $donnees99['Argent'] + 1300000000;
}
elseif($donnees98['recherche'] < 1800 )
{
$b1 = $donnees98['recherche'] - 180;
$b2 = $donnees99['recherche'] + 180;
$b3 = $donnees99['Argent'] + 1800000000;
}
elseif($donnees98['recherche'] < 2500 )
{
$b1 = $donnees98['recherche'] - 250;
$b2 = $donnees99['recherche'] + 250;
$b3 = $donnees99['Argent'] + 2500000000;
}
else {}
// modif chez defenseur
mysql_query("UPDATE qgjoueur SET recherche = '$b1, def='0', pingouin='0', guerrier='0', float1='0',
float2='0', float3='0', float0='$0', float5='0', avion='0', eclair='0' WHERE pseudo = '$a12'") or die(mysql_error());
// modif chez attaquant
mysql_query("UPDATE qgjoueur SET argent='$b3', recherche = '$b2, pingouin='$a4', guerrier='$a5', float1='$a6', float2='$a7',
float3='$a8', float0='$a9', float5='$a10', avion='$a11', eclair='$a12' WHERE pseudo = '$a11'") or die(mysql_error());
mysql_query("INSERT INTO attacklog VALUES (NULL, '$pseudo','$b2','".$donnees31['pingouinatt']."','".$donnees31['guerrieratt']."','".$donnees31['float1att']."','".$donnees31['float2att']."','".$donnees31['float3att']."','".$donnees31['float0att']."','".$donnees31['float5att']."','".$donnees31['avionatt']."','".$donnees31['eclairatt']."',
'$a2','".$donnees98['recherche']."','".$donnees98['pingouin']."','".$donnees98['guerrier']."','".$donnees98['float1']."','".$donnees98['float2']."','".$donnees98['float3']."','".$donnees98['float0']."','".$donnees98['float5']."','".$donnees98['avion']."','".$donnees98['eclair']."','$pseudo','$a3')") or die(mysql_error()); //29 a inserer
mysql_query("DELETE FROM attaque WHERE timestampfin = '$a3' AND pseudoatt = '$a1' AND pseudodef = '$a2'") or die(mysql_error());
}
elseif ($att == $def)
{
// modif chez defenseur
mysql_query("UPDATE qgjoueur SET recherche = '$b1, def='0', pingouin='0', guerrier='0', float1='0',
float2='0', float3='0', float0='$0', float5='0', avion='0', eclair='0' WHERE pseudo = '$a12'") or die(mysql_error());
// modif chez attaquant
mysql_query("INSERT INTO attacklog VALUES (NULL, '$pseudo','$b2','".$donnees31['pingouinatt']."','".$donnees31['guerrieratt']."','".$donnees31['float1att']."','".$donnees31['float2att']."','".$donnees31['float3att']."','".$donnees31['float0att']."','".$donnees31['float5att']."','".$donnees31['avionatt']."','".$donnees31['eclairatt']."',
'$a2','".$donnees98['recherche']."','".$donnees98['pingouin']."','".$donnees98['guerrier']."','".$donnees98['float1']."','".$donnees98['float2']."','".$donnees98['float3']."','".$donnees98['float0']."','".$donnees98['float5']."','".$donnees98['avion']."','".$donnees98['eclair']."','$pseudo','$a3')") or die(mysql_error()); //29 a inserer
mysql_query("DELETE FROM attaque WHERE timestampfin = '$a3' AND pseudoatt = '$a1' AND pseudodef = '$a2'") or die(mysql_error());
}
else
{
// l'attaquant perd tout puis perte de niveau de recherche
if($donnees98['recherche'] < 10 )
{
$b1 = $donnees99['recherche'] - 1;
$b2 = $donnees98['recherche'] + 1;
$b3 = $donnees98['Argent'] + 10000000;
}
elseif($donnees98['recherche'] < 20 )
{
$b1 = $donnees99['recherche'] - 2;
$b2 = $donnees98['recherche'] + 2;
$b3 = $donnees98['Argent'] + 20000000;
}
elseif($donnees98['recherche'] < 50 )
{
$b1 = $donnees99['recherche'] - 5;
$b2 = $donnees98['recherche'] + 5;
$b3 = $donnees98['Argent'] + 50000000;
}
elseif($donnees98['recherche'] < 100 )
{
$b1 = $donnees99['recherche'] - 10;
$b2 = $donnees98['recherche'] + 10;
$b3 = $donnees98['Argent'] + 100000000;
}
elseif($donnees98['recherche'] < 250 )
{
$b1 = $donnees99['recherche'] - 25;
$b2 = $donnees98['recherche'] + 25;
$b3 = $donnees98['Argent'] + 250000000;
}
elseif($donnees98['recherche'] < 500 )
{
$b1 = $donnees99['recherche'] - 50;
$b2 = $donnees98['recherche'] + 50;
$b3 = $donnees98['Argent'] + 500000000;
}
elseif($donnees98['recherche'] < 800 )
{
$b1 = $donnees99['recherche'] - 80;
$b2 = $donnees98['recherche'] + 80;
$b3 = $donnees98['Argent'] +800000000;
}
elseif($donnees98['recherche'] < 1000 )
{
$b1 = $donnees99['recherche'] - 100;
$b2 = $donnees98['recherche'] + 100;
$b3 = $donnees98['Argent'] + 1000000000;
}
elseif($donnees98['recherche'] < 1300 )
{
$b1 = $donnees99['recherche'] - 130;
$b2 = $donnees98['recherche'] + 130;
$b3 = $donnees98['Argent'] + 1300000000;
}
elseif($donnees98['recherche'] < 1800 )
{
$b1 = $donnees99['recherche'] - 180;
$b2 = $donnees98['recherche'] + 180;
$b3 = $donnees98['Argent'] + 1800000000;
}
elseif($donnees98['recherche'] < 2500 )
{
$b1 = $donnees99['recherche'] - 250;
$b2 = $donnees98['recherche'] + 250;
$b3 = $donnees98['Argent'] + 2500000000;
}
else {}
// modif chez defenseur
mysql_query("UPDATE qgjoueur SET argent='$b3',recherche = '$b2 WHERE pseudo = '$a2'") or die(mysql_error());
// modif chez attaquant
mysql_query("UPDATE qgjoueur SET recherche = '$b1 WHERE pseudo = '$a1'") or die(mysql_error());
mysql_query("INSERT INTO attacklog VALUES (NULL, '$pseudo','$b2','".$donnees31['pingouinatt']."','".$donnees31['guerrieratt']."','".$donnees31['float1att']."','".$donnees31['float2att']."','".$donnees31['float3att']."','".$donnees31['float0att']."','".$donnees31['float5att']."','".$donnees31['avionatt']."','".$donnees31['eclairatt']."',
'$a2','".$donnees98['recherche']."','".$donnees98['pingouin']."','".$donnees98['guerrier']."','".$donnees98['float1']."','".$donnees98['float2']."','".$donnees98['float3']."','".$donnees98['float0']."','".$donnees98['float5']."','".$donnees98['avion']."','".$donnees98['eclair']."','$a2','$a3')") or die(mysql_error()); //29 a inserer
mysql_query("DELETE FROM attaque WHERE timestampfin = '$a3' AND pseudoatt = '$a1' AND pseudodef = '$a2'") or die(mysql_error());
}
}
}
?>
...La vie n'est qu'un long parcours d'épreuves...
9 réponses
-
C'est bien gentil tout ça mais tu peux peut-être être plus précis... Quel est ton erreur? A quel endroit?
-
avant de corriger les erreurs, il faudrait que tu optimises ton code ...
exemple à la place de :if($donnees98['recherche'] < 10 ) { $b1 = $donnees98['recherche'] - 1; $b2 = $donnees99['recherche'] + 1; $b3 = $donnees99['Argent'] + 10000000; } elseif($donnees98['recherche'] < 20 ) { $b1 = $donnees98['recherche'] - 2; $b2 = $donnees99['recherche'] + 2; $b3 = $donnees99['Argent'] + 20000000; } ....
tu mets :
$b1 = $donnees98['recherche'] - ($donnees98['recherche']/10); $b2 = $donnees99['recherche'] + ($donnees98['recherche']/10); $b3 = $donnees99['Argent'] + ($donnees98['recherche']*10000000);
ensuite, tes requetes doivent être optimisé, il y en a beaucoup trop -
Beh je vois pas en quoi tu optimises mon code la... Mais merci du conseil je vais m'en occuper.
-
mysql_query("UPDATE qgjoueur SET recherche = '$b1 WHERE pseudo = '$a1'") or die(mysql_error()); Il te manque un ' derriere $b1
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
tout ce qui se repete dans un code n'est pas optimisé ...
tu fais un if ...elseif ... elseif infinissable alors que tu peux le faire en 1 fois -
Ce que tu lui propose n'est pas exactement la même chose puisque lui agit par paliers alors que toi tu uniformise le tout...
-
Voila Breub62 a compris le seul optimisation possible a ca est de faire un switch...
-
exact çà ne marcherais plus pareil, dans ce cas en effet un switch est plus approprié
-