作业总结:
数据库部分
先创建一个存放电影资料的表,表名是$movies.表内添加如下字段 mov_id、name、image、detail、cate_id,分别对应电影的id号、电影名称、简介、所属栏目id。
再创建一个保存栏目资料的数据表,表名是$cates 表内添加如下字段 cate_id、name、alias,分别对应的是栏目的id、栏目名缩写、栏目分类名称。
创建一个系统设置的数据表,表名是$system 表内有sys_id、title、desc、key、copy字段,分别对应的是系统id号、网站名、网站描述、网站关键字、网站版权信息。
创建公共部分头部文件 header.php
先引入css样式表,再使用php+html混排的方式echo输出$system表下的字段内容,如<?php echo $system['title'] ?>
循环导航栏目代码,把栏目表的变量(表名)拿过来进行循环遍历,使用<a href="list.php?cate_id=<?php echo $cate['cate_id']; ?>"><?php echo $cate['alias'] ?></a>进行输出内容,其中list.php表示要跳转到这个动态页面,问号后面的cate_id=<?php echo $cate['cate_id'];?>表示要使用GET方式把这个链接的值进行传递,<?php echo $cate['alias'] ?>是对遍历出来的栏目名进行输出。
创建公共部分底部文件 footer.php
底部文件很简单,直接是使用PHP混排输出系统表里的copy字段即可。
创建首页 index.php
首页顶部先使用include引用头部文件、底部引用底部文件,使用__DIR__魔术方法表示引用当前路径下的**文件,最好使用绝对路径并且需要使用 . 进行连接,点右侧的路径要加反斜杠。
首先遍历一下栏目,输出一下栏目的名称,echo "<h2>{$cate['alias']}</h2>";,然后遍历电影内容的数据表,在表内进行一次判断。如果电影栏目的cate_id和电影内容表里所属栏目的mov_id一致,说明这个电影归属于这个栏目ID下的内容,就进行输出。跳转文章页面的链接是article.php?mov_id=$movie['mov_id'],前面的article.php表示跳转到这个动态页面,mov_id=$movie['mov_id']表示以GET方式发送循环到的这个$movie['mov_id']值到article.php页面。
创建栏目页 list.php
和首页一样先引入顶部、底部的页面,然后使用魔术方法$_GET['cate_id']来获取一下GET发送过来的栏目cate_id值,并且把这个值赋值给变量$cateid。
循环遍历一下栏目的数据表,判断一下如果循环到的栏目cate_id值和get获取到的值相同,那么说明要显示这个id下的内容。先输入一下栏目名,然后再次使用遍历循环一下电影表的内容,在表内判断一下,如果这个栏目名等于表内的所属栏目名字段$movie['cate_id']一致,那么就循环输出文章页面的跳转链接。方式和首页的方式一样。
创建内容页 article.php
和首页一样先引入顶部、底部的页面,然后使用魔术方法$_GET['mov_id']来获取一下GET发送过来的栏目mov_id值,并且把这个值赋值给变量$movid。
循环遍历一下电影内容表,如果当前的表里的电影id和get获取到的值一样,那么就输出一下这条数据。
首页代码:
<?php include __DIR__. '/public/include/header.php' ; ?> <div class="cent"> <?php // 遍历栏目 foreach ($cates as $cate){ echo "<ul>"; echo "<h2>{$cate['alias']}</h2>"; foreach ($movies as $movie){ // 遍历内容链接 if($cate['cate_id']==$movie['cate_id']){ echo "<li><a href='article.php?mov_id=".$movie['mov_id'].".php'>{$movie['name']}</a>"; echo '<p><img class="article_img" src="public/style/images/'.$movie['image'].'"></p>'; // echo $movie['name']; } } echo "</ul>"; } ?> </div> <?php include __DIR__. '/public/include/footer.php' ; ?>
点击 "运行实例" 按钮查看在线实例
列表页代码:
<?php include __DIR__. '/public/include/header.php' ; echo '<div class="cent">'; $cateid = $_GET['cate_id']; // $movie['mov_id'] == (int)$cateid; // 遍历栏目 foreach ($cates as $cate){ if($cate['cate_id']==$cateid){ echo "<ul>"; echo "<h2>{$cate['alias']}</h2>"; // 遍历内容链接 foreach ($movies as $movie) { if($cate['cate_id']==$movie['cate_id']){ echo '<li><a href="article.php?mov_id='.$movie['mov_id'].'" title="'.$movie['name'].'">'.$movie['name'].'</a></li>'; } } echo "</ul>"; } } include __DIR__. '/public/include/footer.php'; ?>
点击 "运行实例" 按钮查看在线实例
文章页代码:
<?php include __DIR__. '/public/include/header.php' ; echo '<div class="cent">'; $movid = $_GET['mov_id']; // $movie['mov_id'] == (int)$cateid; // 遍历栏目 // 遍历内容链接 foreach ($movies as $movie) { if($movid==$movie['mov_id']){ echo '<p class="article_title">电影名称:'.$movie['name'].'</p>'; echo '<p><img class="article_img" src="public/style/images/'.$movie['image'].'"></p>'; echo "<p class='detail'>{$movie['detail']}</p>"; } } include __DIR__. '/public/include/footer.php'; ?>
点击 "运行实例" 按钮查看在线实例
公共部分头部代码:
<?php // 影视剧数组 $movies = [ [ 'mov_id'=>1, 'name'=>'倚天屠龙记', 'image'=>'yttlj.jpg', 'detail'=>'元朝末年,群雄纷起,武林动荡。江湖传闻,得到屠龙刀倚天剑者,可以成为武林至尊,号令天下,莫敢不从。一时间风云四起,引发了武林中对屠龙刀倚天剑的争夺,几段姻缘和孽缘也由此产生。武当派张翠山与天鹰教殷素素… ', 'cate_id'=>1 ], [ 'mov_id'=>2, 'name'=>'都挺好', 'image'=>'dth.jpg', 'detail'=>' 苏母的的突然离世打破了这个家庭外表的平静,意想不到的隐患层层显露,对毫无主见却又自私、小气的苏父的安置和后续生活问题,引发了远在国外的大哥与本城的二哥、小妹三家规律生活的不再。一直被苏母压制的苏父翻… ', 'cate_id'=>1 ], [ 'mov_id'=>3, 'name'=>'如果可以这样爱', 'image'=>'rgkyzya.jpg', 'detail'=>'一对已婚男女突然徇情自杀,以为可以结束这一切,却不料悲剧才刚刚开始——他们的爱人,耿墨池和白考儿,同时在葬礼上邂逅。面对同样的背叛他们同时选择报复但又同时爱上彼此,注定饱受打击和折磨。然而他们想真心拥… ', 'cate_id'=>1 ], [ 'mov_id'=>4, 'name'=>'复仇者联盟4', 'image'=>'fczlm.jpg', 'detail'=>'《复仇者联盟4:终局之战》将是漫威宇宙“无限传奇”(The Infinity Saga)的终结篇,是漫威电影宇宙十年的一个重要节点,结束部分英雄电影的故事,但也将展开新的剧情,呈现新的更为广阔宏大的宇…', 'cate_id'=>2 ], [ 'mov_id'=>5, 'name'=>'波西米亚狂想曲', 'image'=>'bxmykxq.jpg', 'detail'=>'弗雷迪·默丘里成名前在机场做行李搬运工。有一天,默丘里毛遂自荐加入杰·泰勒与布莱恩·梅的乐团,恰巧当天原本的主唱辞职,默丘里用自己横跨四个八度的超广音域说服两人,从此开启皇后乐团的摇滚传奇!', 'cate_id'=>2 ], [ 'mov_id'=>6, 'name'=>'阿丽塔:战斗天使', 'image'=>'fczlm.jpg', 'detail'=>'弗雷迪·默丘里成名前在机场做行李搬运工。有一天,默丘里毛遂自荐加入杰·泰勒与布莱恩·梅的乐团,恰巧当天原本的主唱辞职,默丘里用自己横跨四个八度的超广音域说服两人,从此开启皇后乐团的摇滚传奇!', 'cate_id'=>2 ], [ 'mov_id'=>7, 'name'=>'情书', 'image'=>'qs.jpg', 'detail'=>'***神户某个飘雪的冬日,渡边博子(中山美穗)在前未婚夫藤井树的三周年祭日上又一次悲痛到不能自已。正因为无法抑制住对已逝恋人的思念,渡边博子在其中学同学录里发现“藤井树” 在小樽市读书时的地址时,依循着…', 'cate_id'=> 3 ], [ 'mov_id'=>8, 'name'=>'天空之城', 'image'=>'tkzc.jpg', 'detail'=>'韩书珍将两个女儿的教育问题和对丈夫的贤内助工作都做得井井有条,在天空之城之中也是备受瞩目的女王,但其实书珍一直隐藏着不为人所知的秘密。李秀林是个充满了关怀和情感丰沛的童话作家,在书珍的引导之下成为了天…', 'cate_id'=>3 ], [ 'mov_id'=>9, 'name'=>'龙猫', 'image'=>'lm.jpg', 'detail'=>'为了方便妻子草壁靖子养病,草壁达郎决定带着两个女儿草壁皋月和草壁米搬到草壁靖子所在疗养院附近的乡下,父女三人入住了一间年久失修的老房子。小姐妹俩很快发现看似平凡无奇的乡下有很多神奇的事物,无人居住的房…', 'cate_id'=>3 ], ]; // 栏目数组 $cates = [ ['cate_id'=>1, 'name'=>'gc', 'alias'=>'国产好剧'], ['cate_id'=>2, 'name'=>'om', 'alias'=>'欧美猛片'], ['cate_id'=>3, 'name'=>'rh', 'alias'=>'日韩新片'], ]; // 网站的系统设置 $system = [ 'sys_id'=>1, 'title'=>'私人影院', 'desc'=>'收集全网最新最全的影视资源', 'key'=>'国产,欧美,日韩', 'copy'=>'php中文网' ] ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title><?php echo $system['title']?></title> <meta name="keywords" content="<?php echo $system['key']?>" /> <meta name="description" content="<?php echo $system['desc']?>" /> <link rel="stylesheet" type="text/css" href="public/style/css/style.css"> </head> <body> <div class="head"> <li><a href="index.php">首页</a></li> <!-- 遍历一下栏目 --> <?php foreach ($cates as $cate) :?> <li><a href="<?php echo 'list.php?cate_id='.$cate['cate_id'] ?>" title="<?php echo $cate['alias'] ?>"><?php echo $cate['alias'] ?></a></li> <?php endforeach; ?> </div>
点击 "运行实例" 按钮查看在线实例
公共部分底部代码:
</div> <div class="footer"> <?php echo $system['copy'] ?> 版权所有 </div> </body> </html>
点击 "运行实例" 按钮查看在线实例