bonjour cher Je suis nouveau en PHP et JavaScript. J'ai créé un site de réservation en utilisant PHP/JavaScript, mais j'ai un problème lorsque deux personnes ou plus sélectionnent la période (pour la réservation) qui rend le produit concurrent conflictuel. Alors s'il vous plaît aider à résoudre ce problème avec le code PHP/JavaScript.Comment résoudre les conflits PHP?
Répondre
Bonjour cher
Le problème que vous avez est une commune en particulier dans les systèmes de réservation. Il y a quelques choses que vous pouvez faire pour résoudre ce problème, mais demander à quelqu'un de poster du code gratuit serait impossible sans voir votre code en premier, alors pour l'instant nous devrons simplement vous fournir des idées.
Je suppose que les visiteurs réservent une marge que je nommerai «sièges».
réserve Seat
utilisateur veut réserver un siège. Réglez le statut des sièges sur réservé. Cela apparaîtra sur les autres écrans des utilisateurs comme déjà réservé. La réservation expirera dans un délai de 30 minutes au cas où le visiteur n'en voudrait plus. Soyez prudent avec l'abus de cela, un visiteur pourrait «réserver» tous les sièges en permanence, empêchant quiconque d'acheter des billets.
premier arrivé, premier servi
permettre à chacun de réserver le siège, celui qui paie pour elle doit d'abord, puis les autres personnes doivent ressaisie un siège. Cette option n'est pas très conviviale mais facile à mettre en œuvre.
@Tom Gullen: bonne réponse, mais 1er arrivé 1s servi est-ce facile ?! Si le processus A met à jour la ligne DB en disant "SEAT BOOKED", et que le processus B fait de même, ils réserveraient le même siège. Utilisez-vous SQL trasaction atomique pour revenir en arrière? Pourriez-vous expliquer un peu, c'est intéressant. –
Vous ne changeriez simplement pas le statut du siège jusqu'au paiement. Lorsque le paiement est effectué, avant de traiter le paiement, vous vérifiez s'il est réservé, si c'est le cas, demandez de resélectionner un siège, si ce n'est pas le cas, définissez-le comme étant acheté puis effectuez le paiement. Rétablir le siège pour être libre si le paiement échoue. Cela serait nul pour les événements populaires où quelqu'un pourrait devoir redémarrer plusieurs fois. –
@ Tom Gullen: ne peut pas être en désaccord plus sur votre dernier commentaire. C'est exactement le problème auquel nous sommes confrontés ici. Comment pouvez-vous être sûr que nous évitons cela: le processus A lit la ligne et voit "SEAT NOT BOOKED", en même temps le processus B (en cours d'exécution) fait la même chose et voit le même "SEAT NOT BOOKED" sur et mettre à jour la même ligne DB avec la même valeur "BOOKED" et maintenant les utilisateurs de remorquage ont réservé le même siège. Redaing 1er la ligne DB ne résout pas le problème de la réservation de la concurrence. C'est pourquoi j'ai demandé à expliquer. –
- 1. Comment résoudre les conflits changeset
- 2. Résoudre les conflits namespace
- 3. Comment résoudre les conflits dans TFS?
- 4. Comment résoudre un changement/réduire les conflits?
- 5. Comment résoudre les conflits de fusion dans Mercurial (v1.0.2)?
- 6. Comment résoudre les conflits d'arborescence via le plugin svn Eclipse
- 7. Comment résoudre shift réduire les conflits dans ma grammaire?
- 8. Comment résoudre les conflits Groovy avec Apache Common Logging?
- 9. CLisp: "use-package" résoudre les conflits de façon non-interactive
- 10. conseils/techniques/bestpractice pour résoudre les conflits avec svn
- 11. résoudre les conflits de nom de classe dans Java
- 12. outil pour résoudre les "conflits triviaux" dans git
- 13. git rebase résoudre les conflits encore et encore?
- 14. Comment résoudre les problèmes
- 15. Comment RESTeasy résout les conflits
- 16. Comment résoudre les conflits d'espace de noms .Net avec le mot clé 'using'?
- 17. Comment KDiff3 peut-il être utilisé correctement avec TortoiseSVN pour résoudre les conflits?
- 18. Comment résoudre les conflits de noms de fichiers inclus dans GCC?
- 19. Maj Réduire les conflits
- 20. Comment mesurer les conflits de verrouillage?
- 21. Résoudre les variables d'environnement Windows en PHP
- 22. SQL Server - existe-t-il un moyen de résoudre en masse les conflits de classement
- 23. Git fusionner et résoudre tous les conflits à la branche actuelle
- 24. Quel est le meilleur moyen de résoudre les conflits de noms en JavaScript?
- 25. Subversion - Toujours résoudre les conflits en utilisant le mien pour un ensemble de fichiers
- 26. Résoudre les conflits de fusion sélectionnés à l'aide de p4merge dans GIT
- 27. Subversion résout tous les conflits rapidement
- 28. ressources sur les conflits ON_UPDATE_COMMAND_UI
- 29. php - Comment résoudre ce setcookie délivre
- 30. Comment résoudre les erreurs jpa?
S'il vous plaît nous montrer votre code! – DLH
Je ne vois pas pourquoi cette question devrait être fermée, c'est une manière mal formulée de demander comment résoudre les conflits de données dans un système de réservation simple. –
@DLH: cela n'implique-t-il pas plus de solution de conception que de solution de codage (même s'il demande du code)? Est-ce qu'un code complet pour gérer cela pourrait tenir dans quelques lignes? –