在刷新php mysql上选择新查询

时间:2013-07-09 14:49:19

标签: php mysql

我正在尝试构建一个简单的在线测验。它不需要用户输入。它所做的只是从mysql数据库列表中随机选择一个名称,查找该名称的图像,然后显示图像。我遇到的问题是我想创建一个' next'按钮,它将刷新mysql查询并发布新的图像/问题。这是我目前所拥有的,虽然它确实刷新了页面,但它没有得到新的结果。我在这里错过了什么?缓存?饼干?任何想法都非常感激。

<?php
$quiz_select = "SELECT * FROM wp_quiz ORDER BY RAND() LIMIT 1; "; 
$result_select = mysql_query($quiz_select) or die(mysql_error());
while($row = mysql_fetch_array($result_select)) {
    $name = stripslashes($row['comname']);
    $sciname = stripslashes($row['sciname']);
    $code = stripslashes($row['code']);
    $image = stripslashes($row['image']);
    }
$image = preg_replace('/\s+/', '', $image);

echo "<div style='margin-left: auto;margin-right: auto; width: 500px'><img style='max-width:500px;' src='http://$image.jpg.to'></div>";

?>

<form>
<input type="button" onClick="history.go(0)" value="Next">
</form>

3 个答案:

答案 0 :(得分:0)

通过从历史记录重新加载,您可能正在重新加载页面的浏览器缓存版本,这将始终是相同的。您只需要再次加载页面。

(即,将表单按钮更改为标准html按钮,而不是触发javascript历史记录)。

<form action="targetpage.php" method="post">
     <input type="submit" value="Next">
 </form>

PS,按兰德()订购不是一个很好的选择方式:http://www.webtrenches.com/post.cfm/avoid-rand-in-mysql

答案 1 :(得分:0)

也许你应该关闭连接并释放结果。

了mysql_free_result($这 - &RS)中; mysql_close($这 - &GT; conn);在

答案 2 :(得分:0)

我最终不得不在刷新时取消设置cookie。

<form action='link.com/page.php?next' method='post'>
 <input type='submit' value='Next'> 
 </form>

</div>";
if(isset($_GET['next'])) {
setcookie ("PHPSESSID", "", time() - 3600);

}