问题标签 [voting-system]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2771 浏览

node.js - 使用 MongoDB 的可扩展投票系统

本文非常清楚地解释了如何使用 MongoDB 实现投票系统,并限制每个用户和每个对象一票。

我有一个额外的要求。我需要给定用户的投票对于显示的对象是可见的。例如,如果我要显示 20 条推文,并且用户对其中的 3 条推文进行了投票,我希望这些投票是可见的。(例如,使用绿色向上箭头。)

一种解决方案是针对每个问题向客户发送一组选民。另一种解决方案是向客户发送他已投的一组选票。我不认为这两种解决方案都是可扩展的。有什么建议么?

0 投票
1 回答
2151 浏览

ajax - 如何在 CakePHP 2.0 中通过 ajax 创建一个简单的投票

我只是想用 CakePHP 2.0 和 Ajax 创建一个简单的投票。我是这个框架的新手,所以我觉得真的很难......

我只想创建一个带有投票操作的链接,该链接将调用控制器中的操作来更新数据库表中的“numberVotes”字段。

我正在尝试,但我不知道我是否做得很好。我现在有这个:

//posts/view.ctp $this->Html->script('votar', array('inline' => false)); //它将它加载到布局中

元素/vote.ctp

webroot/js/vote.js

}

//控制器/PostsController.php

我确定我没有将 CakePHP 的强大功能用于 ajax……但我不知道我可以在哪里应用它或如何应用它。有什么建议吗?

谢谢。

0 投票
1 回答
180 浏览

ruby-on-rails - 您将如何根据时间增加投票系统的权重,例如“竖起大拇指”?

我发现了一个很酷的库,可以对事物进行投票-> https://github.com/brady8/thumbs_up

我希望能够自己修改它或在某人的帮助下根据时间增加重量。业务逻辑方面,我对如何做到这一点有一个想法,但可以使用一些关于如何实现它的指导。

我的理由是,除非您根据时间添加权重,否则得票最多的旧条目将始终位于计数查询的顶部。让较新的条目具有更大的权重是有意义的,因此它们有能力浮出水面。

想法?也许有一个图书馆已经这样做了?

0 投票
4 回答
4049 浏览

php - 防止双重投票

我正在创建一个 Web 应用程序,用户将通过单击竖起大拇指或竖起大拇指来为某些候选人投票,而这些用户在该站点上没有任何帐户。

最好的技术是什么?是否有必要使用验证码来更好地防止垃圾邮件?

投票数预计将达到数百万,而且这个主题不是很关键,只要我得到 95% 的准确率就可以了。谢谢。

0 投票
3 回答
746 浏览

php - Youtube 是如何记住赞的?

所以我想知道像 YouTube 这样的网站如何记住用户“喜欢”了一个视频并阻止他们再次喜欢它。同样,像 Reddit 这样的网站如何记住赞成票和反对票并阻止用户赞成他们已经赞成的内容。

它是否像数据库表一样简单,其中内容的 ID 与用户的 ID 及其响应一起存储?我觉得那会变成一张巨大的桌子。有什么更棘手的事情吗?

0 投票
1 回答
124 浏览

c# - 在我的 asp.net 网络应用程序中添加一个可重复使用的“盒子”

我正在使用 Visual Studio 2010 Pro 中的 C# 在 ASP.NET 4.0 中构建一个基本的 Web 应用程序。我对 C# 还是很陌生,并且习惯了 Delphi 编码。我的网站已经注册/登录,虽然我使用了一些 asp.net 控件,但我的大部分页面都是从我的 SQL 数据库动态加载的,我从 C# 手动编译 HTML 代码并将其插入到文档中。

现在我想做的是实现一个投票 - 或投票框 - 一个可以在不同页面中重复使用的“对象”。我网站的母版页已经有一个永久的左侧面板,其中包含显示在每个页面上的内容。其中之一将是一个带有几个问题投票的小盒子。

我只需要知道如何开始为这样的网页构建独立的插件控件?我不一定指单独的 DLL 或任何东西,我现有的可以处理所有内容。但我也想在不同的页面中重复使用同一个小投票箱。所以我假设这将被视为一个单独的页面,在某种程度上,它可能是大约 120 像素宽 x 80 高。每次投票将仅限于登录帐户或 IP 地址(我已经可以访问)。所以这个解决方案必须与现有的 asp.net 应用程序交互。

那么我该如何开始这样一个可以在多个页面中重复使用的插件的“主干”呢?我不打算分发这个插件,我什至不知道这是否是我需要的正确术语。只是一个可以在多个页面上“重复使用”的“盒子”——它必须与 asp.net 应用程序交互。

为了更好地解释我的意思,想象一下 Facebook 如何拥有插件,您可以在其中嵌入一些关于喜欢等的一般信息。我想自己制作这样的盒子——甚至可以将它嵌入其他网站。

0 投票
1 回答
2663 浏览

python - 使用python的博尔达计数?

我有一个看起来像 A>B>C>D>E 的选票列表,其中一些看起来像 A>B>C=D=E。选票在一个文本文件中,每张选票都在自己的行上。我想为每个候选人分配点值。对于 A>B>C>D>E,A 应该得到 4 分,B 应该得到 3,C 2,D 1,E 0。对于 A>B>C=D=E,A 应该得到4 分,B 应该得到 3,因为 C、D 和 E 并列,所以他们应该平分剩下的 3 分,所以他们各得 1。我希望计算文本文件中的所有选票并将选票相加. 您认为最简单的方法是什么?

0 投票
1 回答
902 浏览

php - Mysql + PHP for "Wilson Score Interval" 与时间引力

我想为网页中的新闻实施排名系统。

我需要以下方面的指导:

  • 我的做法。这是对的吗?这是疯狂/愚蠢吗?
  • 如果是正确的,就其实施。

相关信息:

  • 我正在使用带有代码点火器的 PHP、MYSQL。
  • 用户可以对网页新闻进行up_vote 和down_vote。
  • 新闻将按其“Wilson 评分区间”进行排名,并稍作修改:
    • 时间引力(最新消息可能最先出现)。
    • 然而,时间衰减将在 48 小时后停止(新闻的重力效应在 48 小时后将相同)。

方法 我想通过 Mysql 做所有事情:

  • 我会将时间引力威尔逊分数(TGWS)——在gravityRating 函数中获得的分数——存储到news_table 中。
  • 我会创建一个触发器。我会重新计算新行的 TGWS 被向上/向下投票。
  • 我会创建一个事件。每 30 分钟它会更新过去 48 小时内发布的新闻的 TGWS。(48 小时后,在投票发出之前分数不会改变,因此不需要重新计算超过 48 小时的新闻)。

是否有意义?

实施 确定。我知道 PHP 中的代码(见下文)。但是我如何将 Wilson Score 代码移植到 Mysql?那有可能吗?它已经在某个地方完成了吗?我已经在 Mysql 中创建了触发器、函数、事件和过程,但是我不知道如何移植这个。

谢谢!

0 投票
2 回答
187 浏览

database - 为投票应用程序选择数据库

我看到很多主题要求为投票机制选择数据库,但我的输入有点不同。我有一个包含 GUI 的应用程序,其中可以有多个字段/单选按钮或以上的组合。GUI 不固定。根据提交的表单,动态生成答案 XML。

因此,如果有一个表单,那么可能有 10000 个不同的人提交同一个表单。我将拥有 10000 种不同的表格(数量会增加)。

我现在有以下 2 个选项。将每个 xml 原样存储在数据库中(我没有选择使用关系数据库或 nosql 数据库,如 mongodb。)或解析 xml 并为每个表单创建表。这样表的数量将是巨大的。

现在,我必须建立一个投票机制,它基本上查看为特定表单生成的所有 xml,即 10000 个 xml,并提取提交的答案(注意:xml 很复杂,因为 1 个表单可以有多个答案元素)然后投票看看有多少人给出了相同的答案。

我的问题:

  1. 我应该使用关系数据库还是 NOSQL(MongoDB /Redis 或类似的)?
  2. 我是否需要将 xml 文档保存在数据库中,还是应该解析它并将其转换为表格并保存?我可以遵循的任何其他方法。

我目前正在使用 JAVA/J2EE 进行开发。

0 投票
0 回答
206 浏览

mysql - 投票赞成/投票反对 SQL 查询返回“失败!” 每一次

我正在尝试为表格中的每个项目添加投票赞成/反对票功能。我目前正在这里实现这个:www.technabled.com/2009/02/reddit-style-voting-with-php-mysql-and.html

但是,它对我不起作用。一旦动作运行,它总是返回“失败! ”,我不知道我做错了什么了。

这是我votes.php页面内的内容。

如果重要的话,这里是所用列的表结构:

votes_upvotes_down
类型:int(11)/空:No/默认值:0

id
类型:int(8)/空:No/额外:AUTO_INCREMENT

我使用参数进行检查:
site.com/votes.php?action=vote_up&id=123

希望有人能发现错误。感谢您的时间和帮助!