Cherche requete pour créditer les 5 meilleurs joueurs - Forums de discussion

Navigation

Accueil du forum » PHP » Cherche requete pour créditer les 5 meilleurs joueurs


Le sujet

toto02200Cherche requete pour créditer les 5 meilleurs joueurs
Par toto02200, le Mercredi 24/02/2010 à 17h00'13
4 messages
Bonjour.

J'ai un classement des 20 meilleurs joueurs, et je cherche a créditer les 5 meilleurs joueur (qui ont le plus de point au jeu), d'une prime de 10000 points.

Pourriez-vous me dire quelle requete pourrai-je faire pour que les 5 meilleurs du classement, puissent recevoir la prime de 10000 points s'il vous plait?

Si vous avez des questions ou si je dois préciser quelques trucs, n'hésitez pas.

Merci a ceux qui prendront la peine de m'aider.

________________
toto02200

Les réponses

toto02200Par toto02200, le Jeudi 25/02/2010 à 11h29'33
4 messages
Personne pour trouver la requete adequat?

S'il vous plait, j'ai cherché pas mal sur le web, j'ai pas trouvé mon bonheur malgrés tout mes mots clés tapés.

Help please.

Merci par avance.

________________
toto02200

xersesPar xerses, le Vendredi 26/02/2010 à 14h59'00
736 messages
Avec un LIMIT 5 sur ta liste de joueur triée par le nombre de points au jeu.

Là t'auras ta liste des 5 meilleurs que tu peux créditer avec une autre requête.

________________
Anything that can go wrong will go wrong (Murphy)
Statut: Modérateur

toto02200Par toto02200, le Jeudi 04/03/2010 à 02h41'09
4 messages
Bonjour et merci pour cette première réponse, mais mon soucis ne se limite pas a celà justement.

Voici ce que j'ai fais et qui fonctionne bien:

<?
$date1
=RemakeDate(-0);
$date2=RemakeDate(-1);
$regHistoGain "SELECT * FROM log_concours_pieces_or where date='$date2' and nomJeux>='$ticket_concours_pieces_or' and nbPieces_or<>0 ORDER BY nbPieces_or DESC, id LIMIT 0,5";
$exec mysql_query ($regHistoGain) or die("erreur" );
?>


Celà me donne bien un tableau avec la liste des 5 joueurs qui ont fait le plus de pièces d'or, mais je cherche quelle requete me faudrait-il pour créditer ces 5 joueurs là et c'est là que je patoge n'étant pas trés fort là-dessus.

Voici ma table log:

CREATE TABLE IF NOT EXISTS `classement_concours_pieces_or` (
  `id` int(11) NOT NULL auto_increment,
  `username` varchar(20) NOT NULL default '',
  `date` date NOT NULL default '0000-00-00',
  `heure` time NOT NULL default '00:00:00',
  `nomJeux` varchar(50) NOT NULL default '',
  `IP` varchar(15) NOT NULL default '',
  `gainjour_concours_pieces_or` int(11) NOT NULL default '0',
  `position` int(11) NOT NULL default '0',
  PRIMARY KEY  (`id`),
  KEY `username` (`username`),
  KEY `date` (`nomJeux`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=126 ;



Tout s'enregistre bien, sauf dans le champ position, qui reste a 0 et de plus, je ne trouve pas le code correct pour créditer les 5 meilleurs joueurs qui s'affichent sur mon tableau.

Si quelqu'un peu me donner un éxemple a adapter, ce serai gentil s'il vous plait.

Voici le code sur le fichier cron, et c'est sur celui-ci que je patoge, ça ne crédite aucun des 5 meilleurs joueurs :

<?
function RemakeDate($T)
{
 
$dateRenvoi=mktime(0,0,0,date("m"),date("d") + $T,date("Y"));
 
$dateRenvoi=date('Y-m-d',$dateRenvoi);
 return (
$dateRenvoi);
}

for (
$i=0;$i<1;$i++)
{
 
$uneDate=RemakeDate(-$i);
 
$laRequete="Select sum(nbPieces_or) from log_concours_pieces_or Where date='$uneDate' and username='$username'";
 
$resultat mysql_query($laRequete) or die ("err");
 
$jour[$i] = mysql_result($resultat,0,"sum(nbPieces_or)");
}

 
$date1=RemakeDate(-0);
 
$date2=RemakeDate(-1);
 
$regHistoGain "SELECT * FROM log_concours_pieces_or where date='$date2' and nomJeux>='$ticket_concours_pieces_or' and nbPieces_or<>0 ORDER BY nbPieces_or DESC, id LIMIT 0,5";
 
$exec mysql_query ($regHistoGain) or die("erreur");
 
mysql_query("UPDATE  info_membres set points=points+$points_prime where username='$pseudo'") or die ("erreur SQL");
 
mysql_query("INSERT INTO classement_concours_pieces_or VALUES('','$username','$date','$heure','nomJeux','$IP','$gainjour_concours_pieces_or','$position')") or die("Erreur3");
 
AjouterPoints(100000,"Prime_concours_Pieces_or");

?>



Merci pour votre aide et/ou vos conseils.

Je repasse derrière un autre programmeur et je dois trouver les soucis qu'ils m'a laissé. Donc ceci éxplique celà.

[Message édité par xerses le 04/03/2010 à 14h58'06]

________________
toto02200

xersesPar xerses, le Jeudi 04/03/2010 à 15h16'05
736 messages
Il nous manque pas mal de code pour bien comprendre le fonctionnement de ton appli j'ai l'impression. Entre autre, l'implémentation de la fonction AjouterPoints(), et les valeurs des différentes variables utilisées ($points_prime, $position, etc.)

Ce code ne sert à rien, vu qu'on y rentre qu'une seule fois :
for ($i=0;$i<1;$i++)

Je n'arrive pas vraiment à saisir comment fonctionne ce code que tu nous montres. En tout cas, de ce que j'ai compris, cela semble simple à implémenter :
- Tu récupères les 5 meilleurs gars comme tu le fais avec ta première fonction.
- Pour chacun d'eux, tu récupères ses points auxquels tu rajoutes la prime et tu updates ta base avec les nouvelles valeurs.

Dans le code que tu nous donnes, il y a apparemment plusieurs traitement dont le remplissage d'une base (classement_concours_pieces_or) pour afficher tes gagnants par la suite je suppose. Il faut que tu arrives à séparer clairement ces différents traitements pour pouvoir t'y retrouver.

Je conseille également de mettre des commentaires avant chacun de tes appels SQL pour savoir à quoi ils correspondent.

Bonne continuation.

________________
Anything that can go wrong will go wrong (Murphy)
Statut: Modérateur

Pages

Réponses les plus anciennes... 1 ...Réponses les plus récentes

A lire également

- Les conditions générales d'utilisation du site

Top-sites membres

Les Amis des Animaux | -1353 pointsBlogHotel - Hébergement de Blog gratuit | -2318 pointsSweet Gwendoline | -2372 pointsÉmoticônes Smileys gratuits | -2372 points

Discussions récentes dans les forums

Membres
Pseudo:
Pass: Mémoriser ?
Problème d'identificationInscription gratuite
Tribune libre
CNIL: 1098091
Connectés: 6
Google:
Publicité: Vidéo humoristique de publicité télé.