Problème d'enregistrement du bonus, flash, php, msql

Répondre
nicost
le 16/02/2008 à 14:11
nicost
Bon après une multitude de test depuis se matin ça fonctionne pas mon histoire de rajouter un deuxieme bonus different du premier.
J'ai fait comme ceci :
<?php
$nom = ''.($pseudo == '' ? 'visiteur' : ''.$pseudo.'').'';
$sql_old_score = 'SELECT Score, Bonus, Bonus2 FROM jouer_scores WHERE Jeu ="'.mysql_escape_string($game_name).'" AND Utilisateur ="'.mysql_escape_string($nom).'"';
$req_old_score = mysql_query($sql_old_score) or die (mysql_error());

if (mysql_num_rows($req_old_score) == 0) {
$sql_insert = 'INSERT INTO jouer_scores (Jeu, Utilisateur, Score, Bonus, Bonus2)
VALUES ("'.mysql_escape_string($game_name).'", "'.mysql_escape_string($nom).'", "'.intval($score).'", "'.intval($bonu).'", "'.intval($bonu2).'")';
$req_insert = mysql_query($sql_insert) or die (mysql_error());
}
else {
$old_data = mysql_fetch_assoc($req_old_score);

if ($old_data['Score'] <= $score) $test_score = true; else $test_score = false;
if ($old_data['Bonus'] <= $bonu) $test_bonu = true; else $test_bonu = false;
if ($old_data['Bonus2'] <= $bonu2) $test_bonu2 = true; else $test_bonu2 = false;

if ($test_bonu || $test_bonu) {
$sql_update = 'UPDATE spouk_scores SET ';
if ($test_score && $test_bonu) $sql_update .= 'Bonus = "'.intval($bonu).'", Score = "'.intval($score).'" ';
elseif ($test_score && !$test_bonu) $sql_update .= 'Score = "'.intval($score).'" ';
elseif (!$test_score && $test_bonu) $sql_update .= 'Bonus = "'.intval($bonu).'" ';
$sql_update .= 'WHERE Jeu = "'.mysql_escape_string($game_name).'" AND Utilisateur = "'.mysql_escape_string($nom).'"';

$req_update = mysql_query($sql_update) or die (mysql_error());
}
}
?>

Mais j'arrive pas a comprendre comment je pourrai le placer dans le test !

J'avais donc mis un autre emplacement pour le test, ça marcher, mais si je prenais pas au moins un bonus, le bonus 2 n'était pas compter.... ail ail ail lol
Merci pour l'aide.
nicost
le 17/02/2008 à 12:31
nicost
Après une multitude de test ça fonction plus ou moins !
J'ai donc rajouter des tests, mais je trouve que ça fait limitement bordélique lol
Voila comment j'ai fait :
<?php
$nom = ''.($pseudo == '' ? 'visiteur' : ''.$pseudo.'').'';
$sql_old_score = 'SELECT Score, Bonus, Bonus2 FROM jouer_scores WHERE Jeu ="'.mysql_escape_string($game_name).'" AND Utilisateur ="'.mysql_escape_string($nom).'"';
$req_old_score = mysql_query($sql_old_score) or die (mysql_error());

if (mysql_num_rows($req_old_score) == 0) {
$sql_insert = 'INSERT INTO jouer_scores (Jeu, Utilisateur, Score, Bonus, Bonus2)
VALUES ("'.mysql_escape_string($game_name).'", "'.mysql_escape_string($nom).'", "'.intval($score).'", "'.intval($bonu).'", "'.intval($bonu2).'")';
$req_insert = mysql_query($sql_insert) or die (mysql_error());
}
else {
$old_data = mysql_fetch_assoc($req_old_score);

if ($old_data['Score'] <= $score) $test_score = true; else $test_score = false;
if ($old_data['Bonus'] <= $bonu) $test_bonu = true; else $test_bonu = false;
if ($old_data['Bonus2'] <= $bonu2) $test_bonu2 = true; else $test_bonu2 = false;

if ($test_bonu || $test_bonu) {
$sql_update = 'UPDATE jouer_scores SET ';
if ($test_score && $test_bonu) $sql_update .= 'Bonus = "'.intval($bonu).'", Score = "'.intval($score).'" ';
elseif ($test_score && !$test_bonu) $sql_update .= 'Score = "'.intval($score).'" ';
elseif (!$test_score && $test_bonu) $sql_update .= 'Bonus = "'.intval($bonu).'" ';


if ($test_bonu2 || $test_bonu2) {
$sql_update = 'UPDATE jouer_scores SET ';
if ($test_score && $test_bonu2) $sql_update .= 'Bonus2 = "'.intval($bonu2).'", Score = "'.intval($score).'" ';
elseif ($test_score && !$test_bonu2) $sql_update .= 'Score = "'.intval($score).'" ';
elseif (!$test_score && $test_bonu2) $sql_update .= 'Bonus2 = "'.intval($bonu2).'" ';


$sql_update .= 'WHERE Jeu = "'.mysql_escape_string($game_name).'" AND Utilisateur = "'.mysql_escape_string($nom).'"';

$req_update = mysql_query($sql_update) or die (mysql_error());
}
}
?>

Mais apparament si je j'attrape pas de bonu 1 par exemple et bien les bonus 2 qui sont cela aussi a part du bonu 1 et le score, ben ça passe pas snifff
Donc la en faite je cherche a faire la même chose que pour le score : Score / Bonus / Bonus 2
Merci de votre aide !
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours