我正在使用的网站提供一项服务,只有会员才能完全访问该内容.我试图在主页上创建一个“示例”,每天获取新的mysql数据(通常仅对成员可用),并为所有用户提供该站点必须提供的“免费示例”.
该数据库包含一千多个条目,我想找到一种每天从数据库中获取新MysqL数据的方法.
假设我的数据库如下所示:
id cars
1 honda
2 volvo
3 ford
4 audi
我希望“当天的汽车”是24小时的“本田”,然后是24小时的“福特”,然后是24小时的“奥迪”,等等.
这是我到目前为止所拥有的:
<?PHP
//Create MysqL connect variable
$conn = MysqL_connect('server', 'username', 'password');
//kill connection if error occurs
if(!$conn){
die('Error: Unable to connect. <br/>' . MysqL_error());
}
//connect to MysqL database
MysqL_select_db("masdswe9", $conn);
$results = MysqL_query("SELECT * FROM cars");
$name_array = Array();
while($row = MysqL_fetch_array($results)){
$name_array[] = $row['name'];
}
shuffle($name_array);
/* I would like for this to fetch NEW sql data every 24 hours,
since I am shuffling names above, slot 0 will be different once I
come up with a way to fetch new MysqL data every 24 hours */
echo $name_array[0];
?>
解决方法:
我将创建一个名为CarOfTheDay的数据库表,您可以从中选择(该表仅在Cars表中具有汽车的ID).要么,要么可以有一个列carOfTheDay,或者更改汽车的顺序,但我认为这些更具侵入性.
创建一个每天运行一次的cron,然后将随机汽车写入CarOfTheDay.然后,您可以执行上面的操作,但是您不必担心时间安排,只需选择一辆车即可:
SELECT
cars
FROM
CarOfTheDay
JOIN Cars USING (id)
LIMIT 1
如果您坚持一个CarOfTheDay,则LIMIT不必是必需的.
顺便说一句,使用PDO或MysqLi而不是MysqL_ *.仅选择所需的列(在生产代码中不要使用SELECT *),而仅选择所需的行(可以在查询中随机化).
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。