我正在寻找一个非常快速和肮脏的网页上的任何方向。我将要有两个静态项目,比如A人和B人。我想点击每个人旁边的一个(+)或( - )按钮,然后递增或递减一个相对于每个人显示的整数。
任何快速啧啧或任何东西都会有用。
除此之外,每次更改值增加或减少时保持可查看日志有多难,是否可以轻松添加日期/时间?
修改
好吧,关于mysql。我已经从之前的wordpress安装中设置了数据库。我要创建一个名为'points'的新表,如果这有2个字段?一个人A和一个人B?
答案 0 :(得分:3)
因为你想要它记住会话之间的值(即 - 如果我递增计数器,离开网站,然后回来,我希望它仍然增加)你需要存储值服务器端。数据库是最好的建议。
如果您计划使用PHP(我从标签中假设),那么MySQL是最容易实现的数据库之一。如果您已经在主机上设置了MySQL数据库,那么这将很容易。如果没有,那么如何设置MySQL数据库将是您需要提出的另一个问题。
既然你想要快速和肮脏,最好的方法就是表格。无论是POST还是GET(如果您希望人们发送“投票此图像”链接,最好是GET,如果您不想要这样的链接,最好是POST)。这很容易,但它也需要重新加载页面,这就是现代投票系统使用AJAX调用(javascript)的原因。
您的HTML表单如下所示:
<!-- Person A goes here -->
This person has a score of <!-- We'll do this soon -->.
<form method="get" <!-- or post --> action="vote.php">
<input type="submit" name="submit_button" value="Vote Up!" />
<input type="submit" name="submit_button" value="Vote Down =(" />
<input type="hidden" name="person" value="A" />
</form>
<!-- Similar for person B -->
请注意,<!-- -->
是HTML评论的语法(这些将在最终网站中删除)
在vote.php中,您需要首先查看表单是否已提交,然后查看按下了哪个提交按钮(向上或向下投票),然后查看它适用于哪个人。然后我们进行数据库输入。
<?php
if(isset($_GET['submit_button'])){
// They submit the form
$add = ($_GET['submit_button'] == 'Vote Up!') ? 1 : -1;
$person = $_GET['person'];
$link = mysql_connect('localhost', 'user', 'password');
mysql_select_db('database', $link);
mysql_query("UPDATE table SET value=value+$add WHERE person=$person");
} else {
die("You didn't submit the form =(");
}
?>
请注意,这是一个非常糟糕的方法(没有解析查询,也没有进行检查。这非常容易受到SQL注入。不要在具有重要信息的数据库中使用它。事实上 - 可能不是' t使用这一点,没有一些变化=))
现在,这基本上取表table
,找到person
等于所选人员(通过用于提交的表格选择)的条目,然后添加+1或-1到value
。您可以在自己的表中更改任何这些变量名称。下一步:读取要在上一页显示的值。请记住,在我发表评论<!-- we'll do this soon -->
之前。我们现在就谈谈。
在第一页的开头,您想要读取数据库。这意味着您的第一页也必须是PHP。
<?php
$link = mysql_connect('localhost', 'user', 'password');
mysql_select_db('database', $link);
$result = mysql_query("SELECT value FROM table WHERE person=A");
...
现在你有一个MySQL资源,但你需要它的值。
...
$row = mysql_fetch_row($result);
...
现在我们用信息显示它。
<!-- Person A goes here -->
This person has a score of <?php echo $row[0]; ?>.
<form method="get" <!-- or post --> action="vote.php">
<input type="submit" name="submit_button" value="Vote Up!" />
<input type="submit" name="submit_button" value="Vote Down =(" />
<input type="hidden" name="person" value="A" />
</form>
然后你重复一个人B.这实际上是最脏的方法,因为它涉及每个人对数据库的一次调用。理想情况下,您可以在一次调用中获取所需的所有值,然后迭代返回的资源并确定谁是谁。或者,如果你真的想要花哨,你可以通过SORT ASC
=)
就像我说的那样,这是使用PHP和MySQL做你想做的最快,最简单,最脏的方法。
答案 1 :(得分:0)
无论如何,我会去存储人员数据的数据库并按身份增加。 这是它的流程: 创建mysql或mysqli数据库“人”,创建表“rate”id - autoincrement 率将是整数。
使用数据库连接和与之相关的功能创建php文件。 当row是相对于此条目的整数的结果时,您可以使用相同的文件来创建递增函数:
$rate = $row['rate'];
function incvar(){
global $rate;
if(isset($rate) || $rate>0){
return $rate++;
}
}
function decvar(){
global $rate;
if(isset($rate) || $rate>0){
return $rate--;
}
}
现在创建查询,使用这些函数的结果更新现有字段。 理想情况是创建一个onjlick请求onclick到这个文件来增加和减少整数。为了快速执行使用jquery。