nicost

Inscris le 14/02/2008 à 17:48
  • Nombre de sujets
    2
  • Nombre de messages
    15
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers sujets sur les forums

nicost
le 21/04/2008 à 18:34
classement
Bonjour tous smiley

J'ai plusieur jeu en flash auquel on a un score, au passage un grand merci à Globule pour sont aide dans cette aventure.

Maintenant se que j'essai de faire, est d'afficher les scores de tout les jeux et des joueurs.

Pas de problème j'arrive à faire l'affichage.

Mais en faite j'essai de faire un classement de celui qui a le plus gros scores jusqu'au plus petit.

Du coup je me demande comment l'on peu faire pour calculer le nombre du score du joueur sur tout les jeux qu'il a jouer.
Exemple : jeu bateau = score : 354
jeu bateau 2 = score : 125
354 + 125 = 479

Comment peut on arriver avec une requette sql pour calculer cela ?

Voila comment j'ai fait pour ma part, mais qui affiche simplement tout les scores des joueurs.

<?php
$demande = reqmysql(' SELECT jeux.nom_cach, jeux.nom, jeux.tri, jeux.status, scores.score, scores.utilisateur
FROM jouer_jeux as jeux
LEFT JOIN jouer_scores as scores ON scores.jeu = jeux.nom_cach
WHERE scores.utilisateur != "null" ORDER BY score',
'ORDER BY DESC'
) or die ('Erreur Requete SQL<br>'.$demande.'<br>'.mysql_error());

if(mysql_num_rows($demande) != 0)
{
echo'<table style="width:100%; text-align:center" align="center" border="0">
<tr>
<td><strong>Place</strong></td>
<td><strong>Nom</strong></td>
<td><strong>Score</strong></td>

</tr>';

while ($boucle = mysql_fetch_array ($demande))
{


$utilisateur = $boucle ['utilisateur'];
$scores = $boucle ['score'];

if (($utilisateur != '')&&($scores!=0)&&($utilisateur != 'visiteur')) {

echo "<tr><td width=\"5%\">".$place."</td><td width = \"25%\">".$utilisateur."</td><td width= \"25%\">".$scores."</td><tr>"; $place ++;}

}

echo '</table>';
}
else
{
echo'<p align="center">Aucun score.</p>';
}

?>

Merci de votre aide !
nicost
le 14/02/2008 à 17:50
Problème d'enregistrement du bonus, flash, php, msql
Bonjour à tous
Dans mon jeu en flash le score du joeur est enregistrer dans la base msql.
Si le joeur fait un plus gros score, alors le score ancien sera éffacer, et le nouveau score sera enregistrer.
Si le score est plus petit, il ne sera pas enregistrer normal
J'ai ajouter dans le jeu flash un bonus.
Des lors que le joeur attrape un bonus, il sera enregistrer comme pour les scores.
Malheureusement, si le joeur a fait un plus petit score MAIS qu'il a plusieur bonus, le bonus en question ne sera pas enregistrer.
Si par contre le joeur fait un plus gros score, alors les bonus en plus seron enregistrer.
Merci de votre aide

Ma table sql comporte plusieur champ :
Id
Jeu
Utilisateur
Score
et le Bonus que j'ai ajouter.

J'ajoute donc mon Bonus dans la requette
Mais j'arrive pas a placer correctement le Bonus pour qu'il soit pris en compte quand le score est quand même plus petit.

Ma page php qui envoie les scores et les bonus :
<?php
if (!emptyempty($_POST['game_name']))
{
$game_name =$_POST['game_name'];
}
if (!emptyempty($_POST['score']))
{
$score = $_POST['score'];
}
if (!emptyempty($_POST['bonu']))
{
$bonu = $_POST['bonu'];
}

$traitement_jeux = reqmysql('SELECT tri FROM jouer_jeux WHERE nom_cach="'.$game_name.'"');

while ($boucle = mysql_fetch_array ($traitement_jeux))
{
$tri = $boucle ['tri'];
}

$nom = ''.($pseudo == '' ? 'visiteur' : ''.$pseudo.'').'';
reqmysql("INSERT INTO `jouer_scores` (`Id`,`Jeu`,`Utilisateur`,`Score`,`Bonus`) VALUES ('', '$game_name', '$nom', '$score', '$bonu');");

$select_scores = reqmysql('SELECT * FROM jouer_scores WHERE Jeu="'.$game_name.'" AND Utilisateur="'.$nom.'" ORDER BY score DESC');
$position = 0;
$exaeco = 0;
$ancienscore = 0;

while ($boucle_recherche = mysql_fetch_array ($select_scores))
{

$bonu_bonu = $boucle_recherche['Bonus'];
$score_score = $boucle_recherche['Score'];
$nom = $boucle_recherche['Utilisateur'];

if ($ancienscore<>$score_score && $exaeco>0)
{
$position=$position+$exaeco+1;
$exaeco=0;
}
elseif ($ancienscore==$score_score)
{
$exaeco++;
}
else
{
$position++;
}

$ex=''.($exaeco > 0 ? 'ex.' : '').'';

if ($tri == 0)
{
if ($position>1)
{
reqmysql('DELETE FROM jouer_scores WHERE Bonus="'.$bonu_bonu.'" Score="'.$score_score.'" AND Utilisateur="'.$nom.'"');

if ($bonu > $bonu_bonu)
{
$meilleur='oui';
}


if ($score > $score_score)
{
$meilleur='oui';
}
}
}

if ($tri == 1)
{
if ($position >1)
{
reqmysql('DELETE FROM jouer_scores WHERE Bonus="'.$bonu.'" Score="'.$ancienscore.'" AND Utilisateur="'.$nom.'"');

if ($score < $ancienscore)

{
$meilleur='oui';
}
}
}

if ($exaeco>0)
{
reqmysql('DELETE FROM jouer_scores WHERE Score="'.$score_score.'" AND Utilisateur="'.$nom.'"');
reqmysql('INSERT INTO `jouer_scores` (`Id`,`Jeu`,`Utilisateur`,`Score`,`Bonus`) VALUES ("", "'.$game_name.'", "'.$nom.'", "'.$score_score.'", "'.$bonu.'");');
}

$ancienscore=$score_score;
}

?>
LoadingChargement en cours