我有這個PHP腳本,每10秒鐘向用戶迴應一種新型的狗。每當頁面在十秒內重新加載時,狗都保持不變。如果超過十秒鐘,狗將會改變。防止相同的值在php/mysql中被回顯兩次
<head>
<title>New Dog Every Ten Seconds!</title>
<?php
$mysqli = new mysqli("localhost", "root","root","dogshow");
if ($mysqli->connect_errno) {
printf("Connect failed: ", $mysqli->connect_error);
exit();
}
?>
</head>
<body>
<?php
echo $currenttime = time();
echo '<br>';
echo $minute_ago = $currenttime - 60;
echo '<br>';
$result = $mysqli->query("SELECT * FROM dogs WHERE dateused<$minute_ago ORDER BY rand(ROUND(UNIX_TIMESTAMP()/10)) LIMIT 1");
$row = mysqli_fetch_array($result);
echo 'uid = ' . $row['uid'] . '<br>';
$uid = $row['uid'];
echo 'dogname = ' . $row['dogname'] . '<br>';
//$result = $mysqli->query("UPDATE dogs SET dateused=$currenttime WHERE uid=$uid");
?>
</body>
</html>
它運作良好,但它有一個遊戲停止錯誤。有時,同一只狗會出現兩次!我需要做的就是停止同樣的狗兩次。
我已經嘗試了很多東西(整夜都在它),但沒有任何作品!真的,真的很感激幫助。
數據庫原理如下:在查詢
Table Name = dogs
id | name | dateused
------------------------
1 | Rover | 1362960167
2 | Chip | 136296
3 | Rex | 1362960178
這是有意的。我想我可以使用更新來記錄狗的使用時間,然後使用dateused <$ minute_ago來消除同樣的狗被回聲兩次。 (如果你跟着我,提供超過六十隻狗!)但是,當然,每次代碼運行時它都會被更新。這意味着狗每次都會改變,而不是保持相同的時間十秒鐘。 – Starkers 2013-03-11 03:57:13