2015-05-29 61 views
3

我正在用HTML5和PHP构建一个简单的应用程序,并且我需要每天显示不同的报价。所以我有一个包含所有365个引号和作者的数据库表,但似乎无法找到一种每24小时显示一次不同数据库记录的方法。我对编程相当陌生,搜索整个互联网寻找答案,但找不到类似的东西。每24小时显示不同的数据库记录

所以我有我的HTML和PHP代码连接到数据库并显示最新的记录。如何每24小时向用户显示另一个数据库行?

这是我的代码看起来像现在:提前家伙

<?php 

$con=mysql_connect('localhost','xxxx','xxxx'); 

if(!$con) 
{ 
    die ("Failed to connect: " . mysql_error()) ; 
} 
mysql_select_db("xxxx",$con); 

$sql = "SELECT * FROM quotes LIMIT 1" ; 
$myData=mysql_query($sql,$con) ; 

while($record = mysql_fetch_array($myData)) { 

    echo "<h1>" . $record['quote'] . "</h1>"; 
    echo "<br><p> - " . $record['author'] . " - </p>"; 

    } 

mysql_close($con); 

?> 

谢谢!

+1

使用一个数据库与多个表有什么问题? – Babar

+0

我建议你以某种方式保存今天的“索引”,然后你必须编写代码来查明它是否为新引用的时间,增加该索引并将你的查询改为:'“SELECT * FROM quotes LIMIT 1 ,“。索引' – simnys

+0

请[停止使用'mysql_ *'函数](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php)。他们不再被维护,并[正式弃用](https://wiki.php.net/rfc/mysql_deprecation)。了解[准备的陈述](http://en.wikipedia.org/wiki/Prepared_statement),并考虑使用PDO,[它不像你想象的那么难](http://jayblanchard.net/demystifying_php_pdo.html) 。此外,您需要添加错误检查并退出,假设您的查询和连接都可以正常工作。 –

回答

2

在您的表格中添加一列,名称为例如id。通过表中的所有行进行迭代,并从1到365添加值,那么你可以这样做:

$sql = "SELECT * FROM quotes WHERE id = " . date('d');

+0

谢谢,这很好,但问题是我希望每年的每一天都有另一个报价,而且这种方法我只能在每个月的每一天都有一个新的报价。第二个月它将再次以“1”开始 –

+1

Nevermind,我用date('z')(+1)返回一年中的一天,谢谢! –

2

您可以刷新页面,每86400秒进行(在一天中的秒),当页面自动重新加载使用PHP获取当前日期并使用日期显示当天的想法。

下一个示例每3秒刷新一次页面,使用PHP获取当前日期并显示当天的想法(我今天只对5/29,明天5/30和明天5/31添加了3个想法)。创建您的www目录下的文本文件,命名为“refresh_every_24h.php”,并从你的浏览器中运行它:

<?php 
$database = array("5/29" => "Jon Skeet : «I'm the king!»" , 
        "5/30" => "Jester : «I know more assembly than you»" , 
        "5/31" => "Tómax : «I'm here to make points, baby»"); 
?> 
<!-- 
NEXT "META" REFRESHES PAGE EVERY 3 SECONDS, YOU CHANGE IT BY 86400 (SECONDS PER DAY). 
--> 
<meta http-equiv="refresh" content="3;URL=http://localhost:8099/refresh_every_24h.php" /> 
<html> 
    <head> 
    <title></title> 
    </head> 
    <body> 
    Thought of the day: 
    <br/> 
<?php 
$arr = getdate(time()); // GET CURRENT SYSTEM TIME. 
echo $database[ strval($arr[ "mon" ]) . // USE MONTH AND 
       "/" .      // DAY TO FIND 
       strval($arr[ "mday" ]) // THOUGHT OF THE DAY. 
       ]; 
?> 
    </body> 
</html> 

要更改文件名的任何其他只是照顾下一行改变它的,它的配置对MY本地主机上运行,​​你更改主机也为自己的:

<meta http-equiv="refresh" content="3;URL=http://localhost:8099/refresh_every_24h.php" /> 

不要忘记更改计算机的日期,而页面清爽,怎么看当天的改变思想! (请记住,在这个例子中,你只能使用今天,明天和明天之后的日期)。