[英]Select unseen random row from MySQL table
我们在MySQL数据库中有一个问题列表,希望它向用户显示一个随机批准的问题。 当您单击随机按钮时,我们希望显示另一个随机问题,但不显示用户已经看到的任何问题。
现在,脚本如下所示:
<?php
mysql_connect("localhost", "username", "password") or die(mysql_error());
mysql_select_db("aldrig") or die(mysql_error());
$result = mysql_query("SELECT * FROM spg WHERE approved='1' ORDER BY RAND() LIMIT 1;")
or die(mysql_error());
while($row = mysql_fetch_array( $result )) {
echo "<div class='contentTitle'><h1>";
echo $row['text'];
echo "</h1></div>";
}
?>
我建议您获取所有问题,如果不想删除它们,可以在代码中找出结果,将它们从结果列表中移出,并移到新列表中,以解决这些问题。
<?php
mysql_connect("localhost", "username", "password") or die(mysql_error());
mysql_select_db("aldrig") or die(mysql_error());
$result = mysql_query("SELECT * FROM spg WHERE approved='1'") or die(mysql_error());
$answers = mysql_fetch_array($result);
start_session();
if (isset($_COOKIE["answers"]))
$alreadyShownAnswers = json_decode($_COOKIE["answers"]);
else
$alreadyShownAnswers = array();
$answerToShow = $answers[$randomIndex];
$alreadyShownAnswers[] = $answers[$randomIndex];
unset($answers[$randomIndex]);
$answers = array_values($answers);
echo "<div class='contentTitle'><h1>";
echo $answerToShow;
echo "</h1></div>";
$_COOKIE["answers"] = json_encode(alreadyShownAnswers);
?>
像这样的东西?
编辑:
使用Cookie或会话的方式
start_session();
$_COOKIE["answer1"] = $answer1;
$_SESSION["answer2"] = $answer2;
现在,当您想在重新刷新后再次检索这些值时,请执行此操作。
start_session();
$answer1 = $_COOKIE["answer1"];
$answer2 = $_SESSION["answer2"];
使用JavaScript进行永久存储使用草椅: http ://brian.io/lawnchair/
例:
var store = new lawnchair({name:'testing'}, function(store) {
// create an object
var me = {key:'brian'};
// save it
store.save(me);
// access it later... yes even after a page refresh!
store.get('brian', function(me) {
console.log(me);
});
});
编辑2:
用新代码更新了第一个代码块,我没有测试过,但是类似的东西应该可以工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.