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 messages sur les forums

nicost
le 22/04/2008 à 12:10
classement
Ok mais la c'est la table jouer_scores.
Dans la table jouer_scores j'ai un champ : Utilisateur et un autre champ : Score

Si je mes " FROM utilisateur " il ne trouve pas
nicost
le 22/04/2008 à 07:30
classement
Bonjour Globule
Je comprend pas, pourtant il est bien selectionner dans la requettte sniff
Je remarque qu'il calcul, mais pas dans l'ordre en faite style :
5252
3891
5022
504
4040
Merci de votre aide.
nicost
le 21/04/2008 à 23:11
classement
Apparament sa l'air de vouloir calculer, je me retrouve avec des scores plus grand, la position est bonne, mais l'affichage des utilisateur n'est pas présent.
Voila ou j'en suis :
Merci de votre aide.
<?php 
$demande = reqmysql(' SELECT sum(score) score FROM jouer_scores GROUP BY utilisateur '

) or die ('Erreur Requete SQL<br>'.$demande.'<br>'.mysql_error());

$position = 0;
$exaeco = 0;
$ancienscore = 0;

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_recherche = mysql_fetch_array ($demande))
{
$score_score = $boucle_recherche['score'];
$utilisateur = $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.' : '').'';


echo '
<tr>
<td style="width:30%"><img src="'.$position.'.png"/></td>
<td style="width:35%">'.$utilisateur.'</td>
<td style="width:35%">'.$score_score.'</td>
</tr>';

$ancienscore=$score_score;
}
}
?>
nicost
le 21/04/2008 à 22:55
classement
Bonsoir Globule, oui en effet je cherche a avoir la somme total pour chaque joueur.
Le joueur qui a plus de point sera premier dans le classement normal lol.
nicost
le 21/04/2008 à 22:29
classement
Bonsoir i M@N et merci de ta réponse.
Tester mes j'ai des erreur !
Je viens de faire autrement, la ça m'affiche qu'un score par utilisateur au lieu de tout les scores réalisez par les joueurs, cela commence a devenir bon.
Mais j'arrive pas a trier tout les scores de façon a compter chaque score du joueur et ensuite avoir un total pour afficher le meilleur score.
Merci de votre aide.
<?php 
$demande = reqmysql(' SELECT MAX(score) AS highscore, utilisateur, score FROM jouer_scores GROUP BY utilisateur '

) or die ('Erreur Requete SQL<br>'.$demande.'<br>'.mysql_error());

$position = 0;
$exaeco = 0;
$ancienscore = 0;

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_recherche = mysql_fetch_array ($demande))
{
$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.' : '').'';


echo '
<tr>
<td style="width:30%"><img src="'.$position.'.png"/></td>
<td style="width:35%">'.$nom.'</td>
<td style="width:35%">'.$score_score.'</td>
</tr>';

$ancienscore=$score_score;
}
}
?>
nicost
le 21/04/2008 à 20:30
classement
Je viens de tester avec un max et un group comme ceci :
<?php
$demande = reqmysql(' SELECT MAX(score) AS jouer_scores, utilisateur, score FROM jouer_scores GROUP BY score '

) or die ('Erreur Requete SQL<br>'.$demande.'<br>'.mysql_error());
?>

Malheureusement ça me donne toujours la même chose sniff
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 17/02/2008 à 12:31
Problème d'enregistrement du bonus, flash, php, msql
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 !
nicost
le 16/02/2008 à 14:11
Problème d'enregistrement du bonus, flash, php, msql
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.
LoadingChargement en cours