Forum de discussion et d'aide au php
Vous n'êtes pas identifié.
|
Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides. FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans. Proposez vos news : si vous avez un evenement à annoncer le chat : venez discuter de php. |
||
Bonjour, c'est encore moi.
J'ai un nouveau problème.
Petit résumé : je suis en train de créer un site de jeu avec prise de paris virtuels. Lorsqu'un membre ce connecte, un message lui indique le solde de son compte. Lors de la validation de son pari, il lui est indiqué le nouveau solde de son compte. Malheureusement, s'il fait un nouveau pari, la mise est déduite de la première somme (comme si le 1er pari avait été annulé).
Comment faire pour que cela n'arrive pas?
Merci de votre coup de main...
Dernière modification par Lnjam (27-01-2006 09:00:56)
Hors ligne
Faut déjà voir ou tu enregistre le pari du membre, si c'est dans un table, il suffit de récuperer le ou les paris déjà enregistrés et d'en soustraire le total du solde.
Hors ligne
j'enregistre effectivement le pari dans un table, et la mise est déduite du solde et mis à jour dans la table Membre. Du coup, sur le site, le nouveau solde de points est inscrit, mais le problème vient lors d'un nouveau pari où le solde de base est repris. D'où? je ne sais pas.
Hors ligne
Avant l'affichage du solde restant il faut que tu vérrifie si des paris on déjà été passé par le membre, si c'est le cas tu récupère la ou les mises déjà enregistrées dans la table Membre et tu les soustrais du solde, reste plus qu'à l'afficher sur ta page.
Hors ligne
et je fais ça comment? parce que normalement, j'ai une page sur mon site où je récapitule les paris, mais ça ne marche pas.
voici mon code pour afficher les paris déjà faits :
$query = mysql_query("SELECT * FROM `Pari` WHERE 'pseudo' LIKE '$pseudo'");
$num=@mysql_num_rows($query);
if($num>=1)
{
echo "$Jeu $Numero $mise";
}
else
{
echo "<br><br><center><font size='5' color='#990000'><b>
Vous n'avez aucun pari en cours pour aujourd'hui</b></font></center>";
}et ça me marque aucun pari pour aujourd'hui, alors qu'il en existe!!!
Hors ligne
Il faut déjà que tu fasse la somme te tous les paris d'un membre pour le cas ou il y en aurais plus d'un.
Pour cela tu peux utiliser un SELECT SUM(nom_du_champ) FROM Pari WHERE..... et ensuite récupérer dans la table qui va bien le montant du solde et en soustraire le montant retourné par la requête que je te donne en exemple. Je ne connais pas la structure de tes tables mais quand tu enregistre le pari, que sa passe t-il ? tu ajoute le nouveau pari dans la table Pari et après ? Modifie tu le montant du solde de départ ?
Hors ligne
en fait, j'ai une table Membre avec les données de joueurs ainsi que leur solde. J'ai une autre table Pari où s'enregistre les paris avec les mises.
Lorsqu'un pari est effectué, la mise est déduite du solde de Membre.
Pour ce qui est de SELECT SUM, je n'ai pas le temps de l'essayer ce soir, je le ferai demain. Merci beaucoup.
Hors ligne
Je pense que le mieux est que dès qu'un pari est enregistré, tu modifie tout de suite le solde dans la table Membre en en enlevant le montant du pari, sauf si biensur tu veux garder le montant du solde intact pourun autre usage.
Hors ligne
Shiva a écrit:
Je pense que le mieux est que dès qu'un pari est enregistré, tu modifie tout de suite le solde dans la table Membre en en enlevant le montant du pari, sauf si biensur tu veux garder le montant du solde intact pourun autre usage.
le solde est modifié aussitot dans la table Membre, mais le problème est que le solde de départ est gardé en mémoire quelque part, et que lors d'un nouveau pari, ce n'est pas le solde qui apparait dans la table menbre qui est pris, mais le solde de départ.
Je tourne en rond, je ne trouve pas la solution.
Hors ligne
je viens d'avoir une lumière !!!!
je viens de me rendre compte d'où venais le problème :
j'ai une première page où les membres prennent les paris.
voici une partie de mon code :
connecter(); $query = "SELECT 'solde' FROM 'Membre' WHERE 'pseudo' LIKE '$pseudo'"; $res = mysql_query($query); echo "<b>Solde actuel de votre compte : $meme[15] €</b>";
donc là, le traitement est fait et le solde se change dans la table Membre.
Si le joueur veut faire un autre pari, il repasse par cette même page, et normalement, "$meme[15]" reprend le nouveau solde. Dans mon cas, il reprend le solde de départ (alors que le solde est changé dans la table!)
En fait, le nouveau solde est repris si le joueur se déconnecte et se reconnecte. Est il possible de faire une session_destroy et sessoin_start sans que le joueur est à se reconnecter?
merci de votre aide
Dernière modification par Lnjam (05-02-2006 09:20:55)
Hors ligne
personne pour m'aider?
Hors ligne