La première bonne réponse gagne. PHP
Résolu
shoub-tcy
Messages postés
169
Date d'inscription
Statut
Membre
Dernière intervention
-
shoub-tcy Messages postés 169 Date d'inscription Statut Membre Dernière intervention -
shoub-tcy Messages postés 169 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- La première bonne réponse gagne. PHP
- Réponse automatique thunderbird - Guide
- Réponse automatique gmail - Guide
- Easy php - Télécharger - Divers Web & Internet
- Telecharger adobe premiere pro gratuit windows 10 - Télécharger - Montage & Édition
- La blague des trois nains reponse ✓ - Forum Loisirs / Divertissements
4 réponses
Table gagnant:
Membre
Date/heure/min(ID)
Question(FK)
N'enregistrer que question n'a pas de réponse, donc aucun résultat encore enregistré.
Membre
Date/heure/min(ID)
Question(FK)
N'enregistrer que question n'a pas de réponse, donc aucun résultat encore enregistré.
Salut,
Je dirais que si le quiz est bon, on regarde dans le champ "gagnant" si il y a une valeur égal à 1...si il n'y a rien, on change la valeur à 1 du membre qui a répondu correctement le premier.
Bref, un truc du style :
Signature non conforme - Publicité supprimée Modération CCM
Je dirais que si le quiz est bon, on regarde dans le champ "gagnant" si il y a une valeur égal à 1...si il n'y a rien, on change la valeur à 1 du membre qui a répondu correctement le premier.
Bref, un truc du style :
$query = mysql_query("SELECT gagnant FROM matable WHERE gagnant=1"); if(mysql_num_rows($query) == 0) { $result=mysql_query("UPDATE matable SET gagnant = 1 WHERE id_du_membre = $identifiant_du_membre"); } else{ echo 'Il y a plus rapide que vous!'; }
Signature non conforme - Publicité supprimée Modération CCM
C'est ce que fait la requête juste au dessus puisqu'elle vérifie dans un premier temps si le chiffre 1 existe dans la table "gagnant" et dans un second si le chiffre 1 n'existe pas, la requête suivante enregistre ce chiffre pour le membre. A partir du moment ou il y a un "1" d'enregistré, le code passe sur le "else".
Bonjour,
C'est un jeu "en live" ou sinon, c'est en différé comme sur un forum ?
C'est un jeu "en live" ou sinon, c'est en différé comme sur un forum ?
J'avait compris ça, je n'ai pas de solution pour l'accès concurrent sauf que pour être plus précis que la seconde ça l'est mais ça dépendras à ce niveau là de la vitesse de téléchargement(upload) du FAI et du serveur web...
Avec la proposition que j'ai faite c'est uniquement la première réponse(juste làil faut se tourner vers php pour comparer) qui est envoyée qui est enregistrée, donc on a bien le gagnant à la seconde près.Le fait que sur une base les champs de date sont en secondes y change rien, ce n'est même pas nécessaire de le retenir mais j'ai estimé que cette donnée pouvait être intéressante à conserver(Univers Du Discours @ Merise).
// enfait je me suis trompé, je veux juste rajouter la colonne "gagnant" à ma table quiz.
C'est pas une nouvelle colonne mais une nouvelle table avec jointure(FK= foreign key= clé étrangère). Rajouter une nouvelle colonne c'est faux en terme d'analyse, sauf que je ne connait pas tout les tenants de la demande(une question est elle obligatoirement posée en live, etc...).
Quant à la première solution qui consiste à avoir une valeur par membre c'est lourd: ça oblige à enregistrer pour chaque question tout les membres(dans une autre table qui est liée à question(table) et membre(table)) et pas mal de contrainte d'intégrité qui vont ralentir le traitement(une question peut ne pas avoir de gagnant par exemple, tant que personne à répondu c'est le cas) ainsi que surcharger une table qui n'en as pas besoin+faire du développement inutile.
Avec la proposition que j'ai faite c'est uniquement la première réponse(juste làil faut se tourner vers php pour comparer) qui est envoyée qui est enregistrée, donc on a bien le gagnant à la seconde près.Le fait que sur une base les champs de date sont en secondes y change rien, ce n'est même pas nécessaire de le retenir mais j'ai estimé que cette donnée pouvait être intéressante à conserver(Univers Du Discours @ Merise).
// enfait je me suis trompé, je veux juste rajouter la colonne "gagnant" à ma table quiz.
C'est pas une nouvelle colonne mais une nouvelle table avec jointure(FK= foreign key= clé étrangère). Rajouter une nouvelle colonne c'est faux en terme d'analyse, sauf que je ne connait pas tout les tenants de la demande(une question est elle obligatoirement posée en live, etc...).
Quant à la première solution qui consiste à avoir une valeur par membre c'est lourd: ça oblige à enregistrer pour chaque question tout les membres(dans une autre table qui est liée à question(table) et membre(table)) et pas mal de contrainte d'intégrité qui vont ralentir le traitement(une question peut ne pas avoir de gagnant par exemple, tant que personne à répondu c'est le cas) ainsi que surcharger une table qui n'en as pas besoin+faire du développement inutile.
Ducoup j'ai trouvé une autre solution plus simple.
J'ai créé une colonne pseudo (clé étrangère) et pour le premier qui répond juste, sont pseudo s'affiche dans la colonne, et j'empêche l'affichage d'autre pseudo en mettant une simple condition du style si la colonne pseudo n'est pas vide alors vous n'avez pas été le premier à répondre juste.
J'ai créé une colonne pseudo (clé étrangère) et pour le premier qui répond juste, sont pseudo s'affiche dans la colonne, et j'empêche l'affichage d'autre pseudo en mettant une simple condition du style si la colonne pseudo n'est pas vide alors vous n'avez pas été le premier à répondre juste.
Enfet je me suis trompé, je veux juste rajouter la colonne "gagnant" à ma table quiz.
Mais comment mais je veux que sa soit plus précis que des minutes et des secondes justement.