我已经创建了一个用于在线广播电台的PHP脚本:
<?php
$username = "root";
$password = "PASSWORD";
$hostname = "localhost";
$database = "myradio1";
$dbhandle = mysql_connect($hostname, $username, $password)
or die("Unable to connect to MySQL");
$selected = mysql_select_db($database,$dbhandle)
or die("Could not select $database");
$query= 'SELECT * FROM showmon';
$result = mysql_query($query) or die ('Error in query');
echo '<table width=100% border=1>';
while ($row=mysql_fetch_row($result))
{
echo '<tr>';
echo '<td><img src="\ '.$row['image'].' \"></td>';
echo '<td>'.$row['presenter'].'</td>';
echo '<td>'.$row['showinfo'].'</td>';
echo '</tr>';
}
echo '</table>';
mysql_free_result($result);
mysql_close($dbhandle);
?>
我还有其他几个页面,分别是一周中其余几天的1,3,4,5,6,7.php,但更改脚本以便查看日期和预先选择更好来自表格的数据:
showmon
showtue
showwed
showthu
showfri
showsat
showsun
所有表格格式与上述脚本相同;数据不同。
它可以很好地显示数据,没有问题;但是如果数据库没有被更改等,如何制作动态页面,这些页面将恢复为预设数据。
http://www.capitalfm.com/northeast/on-air/schedule/是我工作过的模特;例如,http:capitalfm.com/northeast/on-air/schedule/?日期= 2012-02-08是一个动态页面,据我所知,它恢复到数据库中的预设数据 - AFAIK,这是最多的无线电网站的工作。
(//删除,因为我无法以新用户的身份发布链接)
我确实在Google上查了一下,但对于初学者来说并没有找到太多。
http:www.capitalfm.com/northeast/on-air/schedule/?日期= 2012-02-08(好吧,用URL术语)是我想要实现的目标。
我的网站的域名为http:radio.localhost / scheduleX(由mod_rewrite隐藏的php扩展名),X代表数字,但我怎样才能更好地改进此脚本?
感谢任何建议;我是动态PHP的新手,可以做PHP和MySQL的基础知识,以及表格的GET / POST,但就是这样。
如果有人能帮助我,我会非常感激。
答案 0 :(得分:0)
您可以使用?date=2012-02-08
$_GET
获取日期
echo $_GET['date'];
要在查询中使用此功能:
$query= "SELECT * FROM showmon WHERE date = '".mysql_real_escape_string($_GET['date'])."'";
您应该阅读php tutorial以开始使用。
答案 1 :(得分:0)
如果您只需要查看日期并选择相应的字段,那么:
$day = date("l");
$field = NULL;
switch($day) {
case "Monday":
$field = "showmon";
break;
case "Tuesday":
$field = "showtue";
break;
case "Wednesday":
$field = "showwed";
break;
case "Thursday":
$field = "showthu";
break;
case "Friday":
$field = "showfri";
break;
case "Saturday":
$field = "showsat";
break;
case "Sunday":
$field = "showsun";
break;
}
$query= 'SELECT * FROM '.$field;
... // and so on
答案 2 :(得分:0)
虽然我同意其他关于需要查看一些PHP基础知识以便清理代码的评论,但这里有一个创建所需查询的示例。
$query = 'SELECT * FROM ' . mysql_real_escape('show' . strtolower(date('D')));
需要date('D')
,即周一,周二,周三等。它会降低它的大小并将其加入“show”这个词,即showmon。
如果您想使用用户提供的日期,可以将其添加到日期方法中:
date('D', mktime(0, 0, 0, 2, 8, 2012))
mktime
中的最后三个数字是月,日,年。
答案 3 :(得分:0)
最棒的事情是浏览这个网站,有很多类似于你的问题。
但这里有一个提示它不是那么高效,而且我没有告诉它最佳实践,但它值得尝试,例如创建一个主页
mainpage.php
在它里面你可以调用你的所有页眉,页脚,正文
<?php include('path/header.php');?>
<?php include('path/dynamic_body.php');?>
<?php include('path/footer.php');?>
每当你有一个页面你的页眉和页脚是相同的,只有身体发生变化。 它取决于你想要传递的数据。
但它不是一个标准的练习,如果你想要一个,我建议你阅读基础知识和练习框架。
答案 4 :(得分:0)
您的桌面设置错误。
它应该只是一个表。使用该字段以2012-02-10
格式保存日期。
现在您可以像这样进行查询
if (isset($_GET['date'])){
$date = mysql_real_escape_sring($_GET['date']);
} else {
$date = date("Y-m-d");
}
$query = 'SELECT * FROM `show` WHERE `date`='$date'";
它将根据所选日期或今天日期选择内容
要创建链接列表,您需要这样的代码(未经测试):
$monday = strtotime("monday"); // getting monday unix timestamp
for ($i=0,$i<7,$i++){
$stamp = $monday + $i * 86400;
$date = date("Y-m-d",$stamp);
$day = date("D",$stamp);
echo "<a href='?date=$date'>$day</a> ";
}