JeuWeb - Crée ton jeu par navigateur
[réglé]Ch'tite question de bdd - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [réglé]Ch'tite question de bdd (/showthread.php?tid=1339)

Pages : 1 2


[réglé]Ch'tite question de bdd - Reaven - 23-06-2007

slt,

j'ai une ch'tite question concernant ma bdd. En ft mon problème est que dans ma table membre j'ai donc mit "id" "login" "mdp" et "email". Pour ça sava mais quand qqun s'inscrit au jeu j'ai un id , son login, son pass et son email comme prévu mais disons que cette personne supprime son compte de joueur (et donc ses identifiants sont supprimé dans la bdd) et qu'il avait l'id 24 (et que c'est le dernier joueur inscrit dans la bdd) quand un nouveau gars s'inscrira il aura pas l'id 24 de l'ancien joueur mais l'id 25 donc dans la bdd les ids passeront de 23 à 25. C'est là qu'il est mon pb je me demandais comment faire pour eviter ça et corriger cette erreur sans refaire une mise à jour de la bdd?

Merci
++


RE: Ch'tite question de bdd - Kassak - 23-06-2007

Hum ce n'est pas très grave non?


RE: Ch'tite question de bdd - Imhotep2 - 23-06-2007

Pourquoi serait-ce un problème ? Bon si tu veux corriger cette erreur c'est très simple, il te suffit de tester l'existence de tous les id de 1 à n (n =max(id)) et dès que l'id n'existe pas, eh bien tu attribues la valeur à l'id du joueur qui s'inscrit. Comme ça tu combles les trous.
J'espère avoir été assez clair.


RE: Ch'tite question de bdd - NicoMSEvent - 24-06-2007

et si c'est le joueur 10 qui se désinscrit... tu auras quand même un trou dans ta base de donnée.
Le fait qu'il y ai des "trous" dans la numérotation n'est pas grave du tout. Si tu veux éviter ça, tu ne supprime rien, tu mets juste un flag "supprimé", comme ça tu gardes tout, et dans tes requetes tu teste ce flag pour savoir quelles lignes tu prends en compte. comme ça tu peux voir qui s'est désincrit, quand, et si il s'est réinscrit plus tard.


RE: Ch'tite question de bdd - Pio154 - 24-06-2007

Ou alors, pendant ton inscription, tu liste tout les id, tu met tout dans un array, puis après, tu liste tout et tu regarde qu'elle est le plus grand nombre.

Je l'ai déjà fait, mes je m'en rappelle plus.
Bref, ce n'est pas très grave si tu supprime un id (25) et après un visiteur s'inscrit il devient 26.


RE: Ch'tite question de bdd - Mysterarts - 24-06-2007

Exactement, il n'y a pas de quoi se torturer, hein ^^
Le tout c'est de ne pas oublier ça quand tu fais des scripts genre, je sais pas, un truc qui tire un membre aléatoire dans la table à partir d'une ID : faut que tu pense à vérifier que l'id correspond encore à un membre...
Y'a moyen de savoir pourquoi ça t'embete ? Un script qui foncionne pas à cause de ça ?

Mysterarts


RE: Ch'tite question de bdd - Amrac - 24-06-2007

Je confirme, il n'y a rien de gênant normalement ...


RE: Ch'tite question de bdd - Reaven - 29-06-2007

ok merci


RE: Ch'tite question de bdd - Nessper - 29-06-2007

Sinon au moment de l'inscription tu peut faire un "SELECT MAX(id)", tu rajoutes +1 et voilà, tu as ce qu'il te faut


RE: Ch'tite question de bdd - Mysterarts - 29-06-2007

Euh... nan, je crois pas que ça empêcherai les trou ça !!
Y'a erreur ^^

Mysterarts