Traitement de score (fx. UPDATE)

Eléphant du PHP | 114 Messages

14 janv. 2006, 13:39

Bonjour a tous,

je viens de créer une source qui me permet de classer des scores que je récupère a partir de jeux Flash, je récupère des variables et je les insere dans un base de donnée MySQl. Cependant comme vous pouvez le voir sur la page d'accueil de http://www.old-games.info le classement des 5 premiers joueur est le même...

Donc j'aimerai garder un seul score par jour, le plus gros. on m'a vaguement parler d'Update... je ne sais pas quoi faire, Avez vous une solution merci d'avance.

voici ma source
<?php
	  
	  

$ok=0;
$ok=$_GET['ok'];

if ($ok==0)
{
	$nom_jeux = $_POST ['game_name'];
	$score_jeux = $_POST ['score'];
	
	

	$affichgage= "";
	$affichage.= " Votre score est de ".$score_jeux." !! <br> <br>
	<form method=post action=newscore.php?ok=1>
	<table>
	<tr><td>Entrer votre pseudo :</td></tr>
	<tr><td><input type=\"text\" name=\"MonJoueur\"></td></tr>
	<tr><td align=center><input type=\"submit\" value=\" Ok \"></td></tr>
	</table>
	<input type=hidden name=jeu value=".$nom_jeux.">
	<input type=hidden name=score value=".$score_jeux.">
	</form>";

echo $affichage;

}elseif ($ok==1)
{
	$nom_jeux = $_POST ['jeu'];
	$score_jeux = $_POST ['score'];
	$pseudo = $_POST ['MonJoueur'];
	$leTime=date("y-m-d");;
	



$base = mysql_connect ('xxxxxx', 'xxxxxxxx', 'xxxxxxx'); 
mysql_select_db ('xxxxxxx', $base) ; 

$sql = "insert into mesScores(nomJeux, nomJoueur, score, monHeure) 
	VALUES ('$nom_jeux', '$pseudo', '$score_jeux', '$leTime')"; 
	
// on insere le tuple (mysql_query) et au cas où, on écrira un petit message d'erreur si la requête ne se passe pas bien (or die)
mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error());

// on ferme la connexion à la base	
	
	
	echo "Votre score a été enregistré";
		

}else{ //Bouhhh
echo"bouuuuh";
}



?>

Eléphant du PHP | 440 Messages

14 janv. 2006, 13:49

Hello ,

Effectivement avant inserer le score du joueur , tu devrais :

-Verifier que le joueur est dej dans la BDD (si non tu insere le pseudo et le score)
-Comparer le score actuel de ce joueur avec celui de la BDD , si celui ci est plus petit tu ne fais rien , si il est plus grand tu le remplace dans la BDD avec la fonction UPDATE de Mysql !
C'est en faisant des erreurs et en osant demander de l'aide qu'on apprend ! Il n'est pas ridicule de ne pas savoir !

Eléphant du PHP | 114 Messages

14 janv. 2006, 13:53

a ok... Merci beaucoup darkblue.