나는 이것을 설명하는 방법에 대해 100 % 확신하지 못하므로 지금 내가하고있는 일에 대해 간단히 설명하겠습니다. 사람들이 "챔피언"에게 투표를하거나 투표 할 수있는 웹 사이트가 있습니다. 이 챔피언은 100 건강으로 시작합니다. 특정 챔피언에게 투표를하면 그 (것)들의 건강은 이제 101이 될 것입니다. 아래로 투표하면 99가됩니다.다른 사용자가 여러 번 투표하는 것을 방지하는 방법
이 사이트는 현재 5 시즌 동안 운영되고 있습니다 (1200 명이 넘는 회원이 있습니다). 한 번에 많은 투표가 진행됩니다. 이제는 모두 잘 작동합니다. 다음 시즌에는 jQuery/getJSON/ajax로 "실시간"투표를 구현하고 있습니다 (따라서 투표 할 때마다 페이지를 새로 고칠 필요가 없습니다).
"챔피언"이 1 명 이하이고 한 명 이상이 동시에 다운 투표를 클릭하면이 놀라운 효과가 있습니다 (실제로 충격을 받았습니다 : P). 서버가 여러 번 꺼내서 챔피언에게 -1 또는 어떤 양의 건강 상태가되도록합니다. 또한 해당 챔피언을 제거한 사람과 동시에 DOWN을 클릭 한 사람을 데이터베이스의 제거 된 테이블에 삽입합니다.
실마리가 없어 ... 여기까지 할 일이 없지만 충분히 설명해 주었으면합니다. 데이터베이스 나 심지어 jQuery 파트에 정보를 삽입하는 PHP 파일과 같은 코드가 필요한 경우 알려 주시기 바랍니다. 어떤 도움이라도 대단히 감사하겠습니다!
중복 투표를 방지해야합니까? –
MyISAM 또는 InnoDB 엔진을 사용합니까? –
나는 한 사람의 중복 투표가 아니라고 말할 수 있다고 생각합니다. 여러 사용자가 동일한 작업을 동시에 수행하여 한 명의 사용자가 아닌 모든 사용자가 제거 작업을 수행하게 된 때입니다. – Nate