0

簡単なオンラインクイズを作成しようとしています。ユーザー入力は必要ありません。名前の mysql データベース リストからエントリをランダムに選択し、その名前の検索結果と画像を表示し、画像を表示するだけです。私が抱えている問題は、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>
4

3 に答える 3

0

おそらく、接続を閉じて結果を解放する必要があります。

mysql_free_result($this->rs); mysql_close($this->conn);

于 2013-07-09T15:08:04.140 に答える
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);

}
于 2013-07-09T16:04:20.907 に答える
0

履歴からリロードすると、ブラウザにキャッシュされたバージョンのページがリロードされる可能性があり、これは常に同じです。ページを再度ロードするだけです。

(つまり、フォーム ボタンを標準の html ボタンに変更し、javascript 履歴を起動しないようにします)。

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

PS、RAND() による順序は、選択を行うための優れた方法ではありません: http://www.webtrenches.com/post.cfm/avoid-rand-in-mysql

于 2013-07-09T14:54:02.367 に答える