制作一个游戏,要求用户在两个单词之间进行选择。一个是"正确的",另一个是不正确的。如果用户选择了错误的单词,我希望这个错误的单词在它的相邻列上得到+1。这将以一个简单的文件保存到服务器上,可能是CSV,这样每个人的数据都会以这种方式记录下来。结果会是这样的:
word1 124
word2 80
word3 14
此外,如果这个词在列表中还没有位置,那么最好添加它。我是一个前端的人,但这似乎很简单。我希望我可以简单地修改一个类似的脚本。如果javascript可以做到这一点,或者谷歌电子表格可以轻松远程使用,我会很高兴的!
编辑:将这些信息收集在一个服务器端文件/表中非常重要。这样我就可以监控每个单词的技巧了。这样我就知道单词1比单词3选择得多,等等。
好了:
<!DOCTYPE html>
<html>
<head>
<script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.js'></script>
<script type='text/javascript'>
var correct_word = "thisiscorrect";
function do_guess() {
if ($("#guess").val() != correct_word) {
$.ajax("log.php", {
data:{
word:$("#guess").val()
}
});
if ($("tr[word='" + $("#guess").val() + "']").length == 0) {
$("#words_history").append("<tr word='" + $("#guess").val() + "'><td>" + $("#guess").val() + "</td><td>1</td></tr>");
}
else {
$("tr[word='" + $("#guess").val() + "'] td:eq(1)").html(parseInt($("tr[word='" + $("#guess").val() + "'] td:eq(1)").html())+1);
}
}
else {
alert("SUCCESS!");
}
}
</script>
</head>
<body>
<table id="words_history">
</table>
<input type="text" id="guess"/>
<input type="button" onclick="do_guess();" value="Guess!"/>
</body>
</html>
php代码(log.php):
<?php
$dbh = mysql_connect("localhost", "root", "");
if(!$dbh) {
die("Unable to connect to DB: " . mysql_error());
}
$db = mysql_select_db('test');
if (!$db) {
die("Use database failed: " . mysql_error());
}
$q = "INSERT INTO guesses (word, cnt) VALUES('" . $_GET["word"] . "', 1)
ON DUPLICATE KEY UPDATE cnt=cnt+1";
$r = mysql_query($q);
?>
数据库结构:
CREATE TABLE `guesses` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`word` varchar(100) NOT NULL,
`cnt` int(10) unsigned NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `word` (`word`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1
希望这已经足够了