1.创建数据库
dy.sql数据文件内容
-- Adminer 4.7.2 MySQL dump
SET NAMES utf8;
SET time_zone = '+00:00';
SET foreign_key_checks = 0;
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
DROP TABLE IF EXISTS `category`;
CREATE TABLE `category` (
`cate_id` int(3) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` varchar(30) NOT NULL COMMENT '栏目名称',
`alias` varchar(30) NOT NULL COMMENT '栏目别名',
PRIMARY KEY (`cate_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
INSERT INTO `category` (`cate_id`, `name`, `alias`) VALUES
(1, 'zrdy', '最热电影'),
(2, 'zxdy', '最新电影'),
(3, 'yhhp', '用户好评');
DROP TABLE IF EXISTS `movies`;
CREATE TABLE `movies` (
`mov_id` int(5) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` varchar(100) NOT NULL COMMENT '影视剧名',
`image` varchar(100) NOT NULL COMMENT '影视封面',
`detail` text NOT NULL COMMENT '影视介绍',
`cate_id` int(3) unsigned NOT NULL COMMENT '所属栏目',
PRIMARY KEY (`mov_id`),
KEY `cate_id` (`cate_id`),
CONSTRAINT `movies_ibfk_1` FOREIGN KEY (`cate_id`) REFERENCES `category` (`cate_id`)
) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8;
INSERT INTO `movies` (`mov_id`, `name`, `image`, `detail`, `cate_id`) VALUES
(1, '千与千寻', 'qyqx.jpg', '千寻和爸爸妈妈一同驱车前往新家,在郊外的小路上不慎进入了神秘的隧道——他们去到了另外一个诡异世界—一个中世纪的小镇。远处飘来食物的香味,爸爸妈妈大快朵颐,孰料之后变成了猪!这时小镇上渐渐来了许多样子古怪、半透明的人。千寻仓皇逃出,一个叫小白的人救了他,喂了她阻止身体消 失的***,并且告诉她怎样去找锅炉爷爷以及汤婆婆,而且必须获得一分工作才能不被魔法变成别的东西。千寻在小白的帮助下幸运地获得了一份在浴池打杂的工作。渐渐她不再被那些怪模怪样的人吓倒,并从小玲那儿知道了小白是凶恶的汤婆婆的弟子。一次,千寻发现小白被一群白色飞舞的纸人打伤,为了救受伤的小白,她用河神送给她的***丸驱出了小白身体内的封印以及守封印的小妖精,但小白还是没有醒过来。为了救小白,千寻又踏上了她的冒险之旅。', 1),
(2, '疾速备战', 'jsbz.jpg', '约翰·威克经历了前两次的追杀、特攻之后,由于执意破坏酒店规矩,因而遭到悬赏通缉,全球杀手闻风而至、一路追杀。这次他又将如何杀出重围,终结这场逃亡之旅。', 1),
(3, '哪吒之魔童降世', 'nzzm.jpg', '《哪吒之魔童降世》由饺子执导、编剧的动画电影,改编自中国神话故事,讲述了哪吒虽“生而为魔”却“逆天而行斗到底”的成长经历的故事。该片于2019年7月26日在中国内地上映。', 1),
(4, '复仇者联盟4', 'fczlm.jpg', '在《复仇者联盟3:无限战争》的毁灭性事件过后,宇宙由于灭霸的行动而变得满目疮痍。无论前方将遭遇怎样的后果,复仇者联盟都必须在剩余盟友的帮助下再一次集结,以逆转灭霸的所作所为,彻底恢复宇宙的秩序。', 1),
(5, '何以为家', 'hywj.jpg', '《何以为家》是由黎巴嫩、法国、美国制作的剧情片,由黎巴嫩导演娜丁·拉巴基执导,赞恩·阿尔·拉菲亚、约丹诺斯·希费罗联合主演。该片于2019年4月29日在中国内地上映。该片讲述了一个12岁的黎巴嫩男孩扎因悲惨的生活经历,他控告自己的父母,原因是父母生下了他,却没有能够好好的抚养他。', 1),
(6, '掠食城市:致命引擎', 'lscs.jpg', '《掠食城市》是由美国环球影业出品的科幻动作片,由克里斯蒂安·瑞沃斯执导,罗伯特·席安、海拉·西尔玛、雨果·维文、智海联合主演。该片根据菲利普·雷夫蒸汽朋克幻想小说改编,讲述了在核战毁掉人类社会文明的几千年之后,来自伦敦城下层的汤姆和逃犯赫斯特·肖为自己的生存进行斗争的故事。该片于2019年1月18日在中国内地上映。', 1),
(7, '蜘蛛侠:英雄远征', 'zzx.jpg', '《蜘蛛侠:英雄远征》是美国哥伦比亚影片公司和漫威影业联合出品的电影。由乔·沃茨执导,汤姆·赫兰德、杰克·吉伦哈尔、塞缪尔·杰克逊、赞达亚·科尔曼、寇碧·史莫德斯等联袂主演。', 1),
(8, '疾速特攻', 'jstg.jpg', '《疾速特攻》是《疾速追杀》的续作,是由美国狮门影业出品的动作犯罪片,由查德·斯塔尔斯基执导,基努·里维斯、伊恩·麦柯肖恩、约翰·雷吉扎莫等联合主演。该片讲述了一个传奇杀手重出江湖,跨越全球与世界各地的顶级杀手展开致命对决的故事。该片于2017年2月10日在美国上映。', 1),
(9, '扫毒2:天地对决', 'sde.jpg', '《扫毒2:天地对决》是由邱礼涛执导,刘德华担任监制,刘德华、古天乐、苗侨伟、林嘉欣领衔主演,张国强、陈家乐、卫诗雅、恭硕良、欧阳靖联合主演,于2019年7月5日在中国内地上映。', 2),
(10, '银河补习班', 'yhbxb.jpg', '马皓文因一次意外事故而入狱,让他遗憾地错过了儿子七年的成长时光。用自己独特的教育方法和满满的爱给予儿子马飞自由成长的空间,教会儿子独立思考的能力和面对困难的勇气。马飞面临学业问题,尽管在学校看来儿子没有可塑之处,但马皓文从未放弃,鼓励孩子找到心中的梦想并为之努力。马皓文与校长求情,打算用一个月时间将马飞的学业提高,证明他不是不可救***的学生,“学渣”也是可造之材。', 2),
(11, '哥斯拉2:怪兽之王', 'gsle.jpg', '《哥斯拉2:怪兽之王》是由迈克尔·道赫蒂执导,凯尔·钱德勒、维拉·法梅加、米莉·博比·布朗、渡边谦、章子怡、布莱德利·惠特福德、莎莉·霍金斯联袂主演的科幻电影。该片是《哥斯拉》的续集,也是传奇影业“怪兽电影宇宙”的第三部作品。', 2),
(12, '爱宠大机密2', 'acdjm.jpg', '《爱宠大机密2》是由照明娱乐公司出品的动画片,由克里斯·雷纳德执导,布莱恩·林奇担任编剧,帕顿·奥斯瓦尔特、凯文·哈特、艾瑞克·斯通斯崔特等配音。《爱宠大机密2》讲述宠物在主人每天离家工作或上学后的生活,用全新的故事,进一步揭秘熟悉的宠物们不为人知的生活。该片于2019年6月7日在美国上映,中国内地定档2019年7月5日。', 2),
(13, '最好的我们', 'zhdwm.jpg', '《最好的我们》是由陈飞宇、何蓝逗主演的青春校园电影。该片改编自八月长安同名小说,讲述了耿耿和余淮这两个因名字而结缘的高中生,在高中三年期间共同成长,经历分别又重逢的故事。影片于2019年6月6日在中国内地上映。', 2),
(14, '肖申克的救赎', 'xskdjs.jpg', '《肖申克的救赎》是美国作家斯蒂芬·金的中篇小说,也是其代表作。收录于小说合集《四季奇谭》中,副标题为“春天的希望”。该作讲述银行家安迪,被当作杀害妻子的凶手送上法庭。妻子的不忠、律师的奸诈、法官的误判、狱警的凶暴、典狱长的贪心与卑鄙,将正处在而立之年的安迪一下子从人生的巅峰推向了世间地狱。而狱中发生的一系列事情迫使忍无可忍的安迪终于在一个雷电交加的夜晚,越狱而出,重获自由。当翌日典狱长打开安迪的牢门时,发现他已不翼而飞,预感到末日来临的典狱长在检察人员收到安迪投寄的罪证之前,畏罪自杀。', 3),
(15, '这个杀手不太冷', 'zgssbtl.jpg', '《这个杀手不太冷》是由吕克·贝松编剧并执导,让·雷诺、加里·奥德曼、娜塔丽·波特曼主演的动作片,该片于1994年9月14日在法国上映。该片讲述了一名职业杀手莱昂无意间搭救了一个全家被杀害的小女孩玛蒂尔达,他和小女孩互生情愫,最后他为了救玛蒂尔达而身亡的故事。', 3),
(16, '流浪地球', 'lldq.jpg', '《流浪地球》是由中国电影股份***、北京京西文化旅游股份***、北京登峰国际文化传播***、郭帆文化传媒(北京)***出品的科幻片,由郭帆执导,吴京特别出演,屈楚萧、李光洁、吴孟达、赵今麦领衔主演。该片于2019年2月5日(农历大年初一)在中国内地上映。', 3),
(17, '阿甘正传', 'agzz.jpg', '《阿甘正传》是由罗伯特·泽米吉斯执导的电影,由汤姆·汉克斯、罗宾·怀特等人主演,于1994年7月6日在美国上映。电影改编自美国作家温斯顿·格卢姆于1986年出版的同名小说,描绘了先天智障的小镇男孩福瑞斯特·甘自强不息,最终“傻人有傻福”地得到上天眷顾,在多个领域创造奇迹的励志故事。电影上映后,于1995年获得奥斯卡最佳影片奖、最佳男主角奖、最佳导演奖等6项大奖。2014年9月5日,在该片上映20周。', 3),
(18, '盗梦空间', 'dmkj.jpg', '《盗梦空间》是由克里斯托弗·诺兰执导,莱昂纳多·迪卡普里奥,玛丽昂·歌迪亚等主演的电影。影片剧情游走于梦境与现实之间,被定义为“发生在意识结构内的当代动作科幻片”。影片讲述由莱昂纳多·迪卡普里奥扮演的造梦师,带领约瑟夫·高登-莱维特、艾伦·佩吉扮演的特工团队,进入他人梦境,从他人的潜意识中盗取机密,并重塑他人梦境的故事。', 3),
(19, '我不是***神', 'wbsys.jpg', '《我不是***神》是由文牧野执导,宁浩、徐峥共同监制的剧情片,徐峥、周一围、王传君、谭卓、章宇、杨新鸣等主演 。该片于2018年7月5日在中国上映。影片讲述了神油店老板程勇从一个交不起房租的男性***品商贩,一跃成为印度仿制***“格列宁”独家代理商的故事。', 3),
(20, '霸王别姬', 'bwbj.jpg', '《霸王别姬》是汤臣电影***出品的文艺片,该片改编自李碧华的同名小说,由陈凯歌执导,李碧华、芦苇编剧;张国荣、巩俐、张丰毅领衔主演。影片围绕两位京剧伶人半个世纪的悲欢离合,展现了对传统文化、人的生存状态及人性的思考与领悟。1993年该片在中国内地以及中国***上映,此后在世界多个国家和地区公映,并且打破中国内地文艺片在美国的票房纪录。', 3);
DROP TABLE IF EXISTS `system`;
CREATE TABLE `system` (
`sys_id` int(1) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
`title` varchar(50) NOT NULL COMMENT '页面标题',
`desc` varchar(200) NOT NULL COMMENT '页面描述',
`key` varchar(50) NOT NULL COMMENT '关键字',
`copy` varchar(50) NOT NULL COMMENT '版权',
PRIMARY KEY (`sys_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
INSERT INTO `system` (`sys_id`, `title`, `desc`, `key`, `copy`) VALUES
(1, '电影资讯站', '收集全网最新最热电影资源', '最新,最热,好评电影', '高明');
-- 2019-08-06 10:05:44
2.index.php首页代码
<?php //加载公共头部 //echo __DIR__;die; 使用据对地址效率高很多 include __DIR__.'/inc/header.php'; echo '<div class="box">'; //使用双重循环,遍历2个数组 foreach ($cates as $cate){ echo "<div class='dy'>"; echo "<dl>"; echo"<dt> {$cate['alias']}</dt>"; //遍历电影数组 foreach ($movies as $movie){ if($cate['cate_id'] === $movie['cate_id']) { echo "<dd><a href='detail.php?mov_id=".$movie['mov_id']."'>{$movie['name']}</a></dd>"; } } echo"</dl>"; echo "</div>"; } echo '</div>'; //加载公共尾部 include __DIR__.'/inc/footer.php';
本地运行截图
3.list.php 列表页代码
<?php //加载公共头部 include __DIR__.'/inc/header.php'; // 将当前栏目id,, 使用GET方式,通过URL地址传递到列表模板list.php $cate_id = $_GET['cate_id']; // 注意: url中的内容都是字符串, 整数字符串先做类型转换才可以 $cate_id = $cate_id;//函数转换 echo '<div class="box">'; //使用双重循环,遍历2个数组 foreach ($cates as $cate){ echo "<div class='dy'>"; echo "<dl>"; //遍历电影数组 if($cate['cate_id'] === $cate_id){ echo"<dt>{$cate['alias']}</dt>"; foreach ($movies as $movie){ if($cate['cate_id'] === $movie['cate_id']) { echo "<dd><a href='detail.php?mov_id=".$movie['mov_id']."'>{$movie['name']}</a></dd>"; } } } echo"</dl>"; echo "</div>"; } echo '</div>'; //加载公共尾部 include __DIR__.'/inc/footer.php';
本地运行截图
4.detail.php 文章页代码
<?php //加载公共头部 include __DIR__.'/inc/header.php'; //获取文章mov_id // 注意: url中的内容都是字符串, 整数字符串先做类型转换才可以 $mov_id = $_GET['mov_id'];//函数转换 echo '<div class="box">'; //使用双重循环,遍历2个数组 echo "<div class='dy'>"; foreach ($movies as $movie){ if($movie['mov_id'] === $mov_id){ //遍历电影数组 echo"<h2>{$movie['name']}</h2>"; echo '<img src="../zy/static/images/'.$movie['image'].'" alt="" width="120">'; echo "<p style='text-indent:2em'>{$movie['detail']}</p>"; } } echo "</div>"; echo '</div>'; //加载公共尾部 include __DIR__.'/inc/footer.php';
本地运行截图
5.header.php公共头条文件
<?php // 网站数据来自数据表 // 1 连接数据库 require __DIR__ . '/connect.php'; // 2. 获取影视信息 $sql = 'SELECT `mov_id`, `name`,`image`,`detail`,`cate_id` FROM `movies`'; $stmt = $pdo-> prepare($sql); $stmt->execute(); $movies=$stmt->fetchAll(PDO::FETCH_ASSOC); // 3. 获取栏目信息 $sql = 'SELECT `cate_id`, `name`,`alias` FROM `category`'; $stmt = $pdo-> prepare($sql); $stmt->execute(); $cates=$stmt->fetchAll(PDO::FETCH_ASSOC); $cate_count = count($cates); // 3. 获取网站的配置信息 $sql = 'SELECT * FROM `system` LIMIT 1'; $stmt = $pdo-> prepare($sql); $stmt->execute(); $system = $stmt->fetch(PDO::FETCH_ASSOC); ?> <!doctype html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <meta name="keywords" content="<?php echo $system['key'];?>"> <meta name="description" content="<?php echo $system['desc'];?>"> <title><?php echo $system['title']; ?></title> <link rel="stylesheet" href="../zy/static/css/style1.css"> </head> <body> <!--网站头部--> <header> <ul> <li><a href="index.php" alt="首页">首页</a></li> <?php foreach ($cates as $cate): ?> <li><a href="list.php?cate_id=<?php echo $cate['cate_id'] ?>"><?php echo $cate['alias'];?></a></li> <?php endforeach; ?> </ul> </header>
6.footer.php公共尾部文件
<!--网站底部--> <footer> <p><?php echo $system['copy']; ?>©版权所有</p> </footer> </body> </html>
7.数据库连接
database.php <?php return [ 'type' => 'mysql', 'host' => '127.0.0.1', 'dbname' => 'dy', 'username' =>'root', 'password' =>'root' ];
connect.php
<?php
// 连接数据库: PDO
//$dsn = '数据库的类型:host=数据库主机名;dbname=默认数据库名称';
$db = require 'database.php';
$dsn = "{$db['type']}:host={$db['host']};dbname={$db['dbname']}";
$username = $db['username'];
$password = $db['password'];
try{
$pdo = new PDO($dsn,$username,$password);
}catch (PDOException $e){
die('连接失败'.$e->getMessage());
}
8.总结
如何使用数据库管理网站数据
通过GET方法传递参数,实现动态调用数据
模板是用来展示动态数据的载体
通过模板技术, 可以极大的简化Web开发工作