Je veux donner 100 pts à tout les joueurs comment faire ?
On3x
Messages postés
163
Date d'inscription
Statut
Membre
Dernière intervention
-
jee pee Messages postés 41521 Date d'inscription Statut Modérateur Dernière intervention -
jee pee Messages postés 41521 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
j'ai une base de donnée sql, "betacraft" avec dedans une table "cms_membres" avec ses options là (dans l'ordre)
id, session, rang, pseudo, prenom, nom, passe, email, date, heure, oublie, ip, token, ddate, dheure
et je voudrais enfaite mettre la valeur 100 pour tout les id dans le champ token
et si possible ne pas donner les 100 si y'a plusieurs fois des membres qui ont la même ip
est ce que c'est possible ? du moins pour le premier svp
et comment faire
merci d'avance
@+
j'ai une base de donnée sql, "betacraft" avec dedans une table "cms_membres" avec ses options là (dans l'ordre)
id, session, rang, pseudo, prenom, nom, passe, email, date, heure, oublie, ip, token, ddate, dheure
et je voudrais enfaite mettre la valeur 100 pour tout les id dans le champ token
et si possible ne pas donner les 100 si y'a plusieurs fois des membres qui ont la même ip
est ce que c'est possible ? du moins pour le premier svp
et comment faire
merci d'avance
@+
A voir également:
- Je veux donner 100 pts à tout les joueurs comment faire ?
- 100 mb en mo ✓ - Forum Matériel & Système
- 100 mo en go ✓ - Forum Mobile
- Dans le document à télécharger, formatez le texte comme ceci : appliquez une taille de 11 pt à tous les textes sans gras ni italique appliquez une taille de 14 pt à tous les textes en italique après ce formatage, combien de pages le document contient-il ? ✓ - Forum Bureautique
- Formate pour taxer client 100€ - Forum PDF
- Arnaque transcash sur Leboncoin. ✓ - Forum Consommation & Internet
3 réponses
'lut, ça se fait en une requête:
En revanche pour les IP identiques c'est plus compliqué, pas infaisable mais il faut y réfléchir:
- l'IP peut être dynamique et j'imagine que tu stockes la dernière IP connue, or une personne peut venir avec une IP n°1, changer en IP n°2, ne pas revenir avec, et un autre joueur peut avoir eu l'IP n°1 entre temps.
- à quel compte donner dans le cas d'IP identiques?
from human import idiocy
del idiocy
UPDATE betacraft.cms_membres SET token = token + 100
En revanche pour les IP identiques c'est plus compliqué, pas infaisable mais il faut y réfléchir:
- l'IP peut être dynamique et j'imagine que tu stockes la dernière IP connue, or une personne peut venir avec une IP n°1, changer en IP n°2, ne pas revenir avec, et un autre joueur peut avoir eu l'IP n°1 entre temps.
- à quel compte donner dans le cas d'IP identiques?
from human import idiocy
del idiocy
Salut, tout dabord merci pour la première requête :)
Enfaite, si jamais les ip sont identiques (je veux juste vérifier si jamais il y a 2 ip pareils, après les autres options j'oublie) je ne donne des token à celui qui a l'id le plus proche de 0
Ex : Benjamin est le 144 membre et possède l'id 144
il a voulu se créer un 2e compte directement à la suite et celui ci possède l'id 145
dans la requête benjamin recevra les 100 tokens, mais pas son 2e compte avec la même ip
est ce que je suis clair :p ?
Enfaite, si jamais les ip sont identiques (je veux juste vérifier si jamais il y a 2 ip pareils, après les autres options j'oublie) je ne donne des token à celui qui a l'id le plus proche de 0
Ex : Benjamin est le 144 membre et possède l'id 144
il a voulu se créer un 2e compte directement à la suite et celui ci possède l'id 145
dans la requête benjamin recevra les 100 tokens, mais pas son 2e compte avec la même ip
est ce que je suis clair :p ?
Salut,
Une requete comme celle là devrait ne sélectionner qu'un membre par ip
Et donc pour la mise à jour faire :
Cdlt
Un étranger, c'est un ami qu'on n'a pas encore rencontré.
Une requete comme celle là devrait ne sélectionner qu'un membre par ip
SELECT MIN(id) FROM betacraft.cms_membres GROUP BY ip
Et donc pour la mise à jour faire :
UPDATE betacraft.cms_membres SET token = token + 100 WHERE id IN (SELECT MIN(id) FROM betacraft.cms_membres GROUP BY ip)
Cdlt
Un étranger, c'est un ami qu'on n'a pas encore rencontré.
Je comprends le message, il ne veut faire faire une maj sur lui même.
Je n'utilise pas mysql, mais oracle où une telle requete doit marcher.
On va faire en 2 temps, créer une table temporaire qui stocke les id, puis utiliser cette liste pour la mise à jour.
Je n'utilise pas mysql, mais oracle où une telle requete doit marcher.
On va faire en 2 temps, créer une table temporaire qui stocke les id, puis utiliser cette liste pour la mise à jour.
CREATE TABLE betacraft.temp_id AS SELECT MIN(id) AS id FROM betacraft.cms_membres GROUP BY ip UPDATE betacraft.cms_membres SET token = token + 100 WHERE id IN (SELECT id FROM betacraft.temp_id)