在线运行地址:http://www.pursuer.top/book
1.创建inc文件夹放置公共文件
【1】db.php,配置数据库的基本参数
<?php return [ 'type'=>'mysql', 'host'=>'127.0.0.1', 'dbname'=>'books', 'username'=>'root', 'password'=>'root' ];
运行实例 »
点击 "运行实例" 按钮查看在线实例
【2】connect.php,连接数据库模板文件
<?php $db = require 'db.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()); }
运行实例 »
点击 "运行实例" 按钮查看在线实例
【3】header.php,公共头部文件
<?php require __DIR__ . '/connect.php'; $sql = 'SELECT `sort_id`,`sort_name`,`sort_title` FROM `sorts`'; $stmt = $pdo->prepare($sql); $stmt->execute(); $sorts = $stmt->fetchAll(PDO::FETCH_ASSOC); $sorts_count = count($sorts); $sql = 'SELECT * FROM `system` LIMIT 1'; $stmt = $pdo->prepare($sql); $stmt->execute(); $system = $stmt->fetch(PDO::FETCH_ASSOC); $sql = 'SELECT `book_id`,`book_name`,`book_author`,`book_img`,`book_desc`,`sort_id` FROM `books`'; $stmt = $pdo->prepare($sql); $stmt->execute(); $books = $stmt->fetchAll(PDO::FETCH_ASSOC); ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="description" content="<?php echo $system['desc'] ?>"> <meta name="keywords" content="<?php echo $system['key'] ?>"> <title><?php echo $system['title'] ?></title> <link rel="stylesheet" href="static/css/style.css"> </head> <body> <!-- 头部 --> <div class="header"> <ul> <li><a href="index.php">首页</a></li> <?php foreach ($sorts as $sort): ?> <li><a href="list.php?sort_id=<?php echo $sort['sort_id']?>"><?php echo $sort['sort_title']; ?></a></li> <?php endforeach; ?> </ul> </div> <!-- 主体 --> <div class="container"> <div class="main">
运行实例 »
点击 "运行实例" 按钮查看在线实例
【4】footer.php,公共底部文件
</div> </div> <!-- 底部 --> <div class="footer"> <p><?php echo $system['copy'] ?></p> </div> </body> </html>
运行实例 »
点击 "运行实例" 按钮查看在线实例
2.创建static文件夹放置css文件,js文件,图片等文件
3.数据库文件books.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 `books`; CREATE TABLE `books` ( `book_id` int(3) NOT NULL AUTO_INCREMENT COMMENT '主键', `book_name` varchar(20) NOT NULL COMMENT '书名', `book_author` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '作者', `book_img` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '封面', `book_desc` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '描述', `sort_id` varchar(10) NOT NULL COMMENT '栏目', PRIMARY KEY (`book_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `books` (`book_id`, `book_name`, `book_author`, `book_img`, `book_desc`, `sort_id`) VALUES (1, '《文化苦旅》', '余秋雨', 'whkl.jpg', '《文化苦旅》一书于1992年首次出版,是余秋雨先生1980年代在海内外讲学和考察途中写下的作品,是他的第 一部文化散文集。全书主要包括两部分,一部分为历史、文化散文,另一部分为回忆散文。甫一面世,该书就以文采飞扬、知识丰厚、见解独到而备受万千读者喜爱。由此开创“历史大散文”一代文风,令世人重拾中华文化价值。他的散文别具一格,见常人所未见,思常人所未思,善于在美妙的文字中一步步将读者带入历史文化长河,启迪哲思,引发情致,具有极高的审美价值和史学、文化价值。', '1'), (2, '《没有一种生活是可惜的》', '余华', 'myyzshskxd.jpg', '本书是余华的散文经典。包含对往事的追忆,对文学和音乐的感悟,***中的所见所闻所感,以及对整个社会和历史的深思。剖析在日常生活表象下隐藏的社会病灶,对我们所处的时代进行由外而内深刻反省。正如余华所说:“这就是我的写作,从中国人的日常生活出发,经过政治、历史、经济、社会、体育、文化、情感、欲望、隐私等等,然后再回到中国人的日常生活之中。”', '1'), (3, '《有些未来我不想去》', '钱佳楠', 'yxwlwbxq.jpg', '《有些未来我不想去》是一本书信形式的随笔集,每一篇都是写给“亲爱的人”,每个人的生命中都渴望有这样一个倾听者,这29封信也是作者写给每个阅读此书的陌生人以及自己的。内容包括成长的追问,对多元文化的理解,梦想的坚持,关于爱情的困惑……每一篇都饱含了作者的深情和对人生的感悟。这些文字或许是黑夜里一闪而过的星光,虽然转瞬即逝,但也足以支持我们抵达下一个光明的时刻。', '1'), (4, '《自由在高处》', '熊培云', 'zyzgc.jpg', '本书旨在从个体角度探讨身处转型期的人们如何超越逆境,盘活自由,拓展生存,积极生活。自由与自救,是本书的方向与重点。出版四年来,累计加印三十余次。本次增订,加入新作六万余字,特别增加“历史与心灵”一辑,并对自由与责任、中国人的自由传统等内容作了必要增补。', '2'), (5, '《厚黑学》', '李宗吾', 'hhx.jpg', '本书是“厚黑教主”李宗吾的力作。全书收录了李宗吾先生有关“厚黑学”的精彩文章,内容涉及到文学、哲学、政治、经济学、心理学、社会学等诸多研究领域。本书内容宏博,见解深邃,启迪心智,文笔流畅轻松,语言幽默隽永,既让人增长见识,深受教益,又让人从中获得一种非常特殊的阅读快感与审美享受。', '2'), (6, '《乡土中国》', '费孝通', 'xtzg.jpg', '《乡土中国》是社会学巨擘费孝通先生的一部研究中国基层传统社会——农村的经典著作。这本书于上个世纪四十年代后期根据费先生所讲授的“乡村社会学”课程内容写成,篇篇短小精悍,语言朴实却深沉精确;书中作者用通俗、简洁的语言从乡村社区、文化传递、家族制度、道德观念、权力结构、社会规范、社会变迁等各方面分析、解剖了中国乡土社会的结构,构建中国社会特有的乡土伦理体系。它对中国社会的分析鞭辟入里,发人深省,为了解中国社会文化的基本特性提供了重要参考。是中国乡土社会传统文化和社会结构理论研究的代表作,也是解读传统中国的经典之作。', '2'), (7, '《写给***的中国历史》', '陈卫平', 'xgetdzgls.jpg', '本书以近百篇精彩故事、上千幅插画贯串上古至现代的中国历史,为***描绘一个完整具体的轮廓,以***的生活经验与历史因果相结合,叙史故事化、新鲜的文字妙喻再加上写实精美的插画,足以唤起***对历史的兴趣;精彩有趣的故事不仅带给孩子想象与创造的空间,真实的历史更给孩子思考与判断的智慧,是一部让孩子认识自己、喜欢历史、见贤思齐的经典巨作。', '3'), (8, '《怪兽国》', '卡塔琳娜·克兰普', 'gsg.jpg', '《怪兽国》以情节取胜,让人翻开*页就爱不释手,不读完誓不罢休。所有故事的立意都是站在孩子的视角展开的。每册之间也是环环相扣,读完一本忍不住渴望第二本。每个爱冒险的孩子都梦想过亲手击败怪兽。但《怪兽国》不仅是一个有战斗情节的冒险故事,也是一个关于勇气、友谊、互助和成长的故事。故事的主角不是什么超级英雄,而是有血有肉的普通人,在与邪恶势力搏斗的过程中获得了惊人的成长。', '3'), (9, '《梅格时空大冒险》', '马德琳·英格 ', 'mgskdmx.jpg', '《梅格时空大冒险》是***文学史上的家喻户晓、不可逾越的不朽名作。《梅格时空大冒险》凭借其跨越时空的想象力、有趣的科学知识、理智又童真的文字,让孩子在阅读的过程中跟主人公梅格一起,理解爱与希望的深刻内涵,激发对科学的好奇心和探索欲。', '3'), (10, '《画家之眼》', '安德魯·路米斯', 'hjzy.jpg', '本书展示了天才的艺术家如何思考,高明的画家如何观察世界。同时也启示普通人如何像获取灵感。这不仅是一样教你怎么绘画的书,更是一本***从不一样的角度去观察和思考世界的书,从而带大家发行不一样的世界,使人们创作出不一样的美。我们普通人看到的世界没什么大的差别。但画家看到的世界是不一样的。比如梵高的世界,莫奈的世界。即使世界是荒芜一片的沙漠,画家也能帮你看出不样的世界。', '4'), (11, '《金印·金印中国著名碑帖》', '孙宝文', 'jy.gif', '汉字书法源远流长,博大精深,变化无穷。在对中华优秀传统文化越来越重视的当下,国人对书法艺术仰慕、鉴赏而学习的热情日益高涨,为了满足这一社会性的需求,上海人民美术出版社特推出《金印中国著名碑帖》,内容涵盖“行书艺术的旷世杰作”《王羲之兰亭序》,“千古奇迹”《智永真草千字文》,“文、理、艺三绝之作”《孙过庭书谱》,“天才美和自然美的典型”《张旭古诗四帖》,“楷书之正宗”《九成宫醴泉铭》,“柳体书法的里程碑”《玄秘塔碑》等历代名碑名帖。此书将中国历代书法拓本墨迹珍品做成金印放大,同时辅以释文,令习书者在习字的同时亦能领略书家所书内容之含义。', '4'), (12, '《六朝志怪》', '许汝纮', 'lczg.jpg', '魏晋南北朝时期是我国古代小说的萌芽期,尤其是六朝时期,留下了许多璀璨而有着丰沛想象力的文化瑰宝,如《列异传》《搜神记》《幽明录》《齐谐记》《述异记》《冥祥记》《录异传》等,皆出自曹丕、干宝、刘义庆、祖冲之、王琰等名人雅士之手。本书从十三部六朝时期著名的志怪作品中遴选名篇佳构,依照每篇特性,划分出「神」「鬼」「人」三界异事,并配以黑、白、红色调的大幅插画,以其冷艳瑰奇的画风,重现六朝奇幻故事情节,勾勒出质朴文字后的浪漫异想,让中华传统经典古籍变得不再遥远而陌生。', '4'), (13, '《中国居民膳食指南》', '中国营养学会', 'zgjmsszn.jpg', '膳食指南是根据营养科学的原则和健康需要,结合当地食物生产供应情况及人群生活实践,给出的食物选择和身体活动的指导意见。各国的膳食指南均由政府或*营养专业团体研究制定,是健康教育和公共政策的基础性文件,是国家实施和推动食物合理消费及改善人群营养健康行动的一个重要组成部分。', '5'), (14, '《学会吃饭》', '珍·克里斯特勒', 'xhcf.jpg', '想象一下,如果你可以不必经过挣扎、不必放弃*喜爱的食物、不必经历渴望与意志之间所产生的拉扯,享受美味的甜点却不必感到罪恶、不必担心一旦开始吃就停不下来,就能成功减重,这会有多自在?正念饮食法会引导你达成这个境界。正念指出,生命许多的挣扎及痛苦,源于过度执着于想要的事物,对于可能造成问题的事情却充满恐惧。本书通过一套实证有效的方法,帮读者通过书中的33个饮食训练,重新认识自己的身体,重新认识自己的情绪,重新认识自己的欲望,找回心灵的平静,剔除错误的进食模式,找到新的人生可能,以更健康的态度面对食物,放下挣扎,实现更自在的人生。', '5'), (15, '《营养圣经》', '帕特里克·霍尔福德', 'yysj.jpg', '帕特里克·霍尔福德是国际zui佳营养学会的创始人。《营养圣经》是他根据多年研究成果撰写的营养学普及读物,以通俗易懂的语言介绍了每个人都应该了解的营养学知识,并针对不同年龄,不同体质的人群提出了改善饮食的可行性建议。对预防病痛,提高免疫力,摆脱抑郁、失眠等亚健康状态等有直接帮助。', '5'), (16, '《事实》', '汉斯·罗斯林,欧拉·罗斯林,安娜·罗斯林·罗朗德', 'ss.jpg', '《事实》教你避免情绪化决策!认识情绪化本能,作出相应改变,摆脱非理性的困扰,重新把能量投入建设性的行为中!一旦你拥有了《事实》提供的思维方式,你就能:远离焦虑、变得乐观、充满希望、变得理性、发现潜在的商机、作出有效决策。', '6'), (17, '《能力陷阱》', '埃米尼亚·伊贝拉', 'nlxj.jpg', '我们很乐于去做那些我们擅长的事,于是就会一直去做,*终就使得我们会一直擅长那些事。做得越多,就越擅长,越擅长就越愿意去做。这样的一个循环能让我们在这方面获得更多的经验,但却容易陷入能力陷阱,在其他方面无法突破。每个人都要特别警惕这种能力陷阱,避免把大量时间花在日常琐事上。如果你想获得更多更好的发展,就要从日常琐事中解脱出来,转变到进行更多策略性思考、在日常工作外建立人际关系网络、提升影响力等能够给你持续带来价值的工作上,这样你才能在各领域获得更好的发展。', '6'), (18, '《掌控习惯》', '詹姆斯·克利尔(James Clear)', 'zkxg.jpg', '为什么“习惯改变命运”?因为个人40%~50%的行为取决于无意识的习惯。习惯形成需要4步:提示→渴求→反应→奖赏。提示触发渴求,渴求激发反应,而反应则提供满足渴求的奖赏,并*终与提示相关联。这4个步骤一起形成了一个神经反馈回路——提示、渴求、反应、奖赏;提示、渴求、反应、奖赏——并*终让你养成自然而然的习惯,由此构成完整的习惯循环。', '6'); DROP TABLE IF EXISTS `sorts`; CREATE TABLE `sorts` ( `sort_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', `sort_name` varchar(10) NOT NULL COMMENT '栏目名', `sort_title` varchar(10) NOT NULL COMMENT '栏目名', PRIMARY KEY (`sort_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `sorts` (`sort_id`, `sort_name`, `sort_title`) VALUES (1, 'wx', '文学'), (2, 'sk', '社科'), (3, 'sr', '少儿'), (4, 'ys', '艺术'), (5, 'sh', '生活'), (6, 'jg', '经管'); DROP TABLE IF EXISTS `system`; CREATE TABLE `system` ( `sys_id` int(3) NOT NULL AUTO_INCREMENT COMMENT '主键', `title` varchar(30) NOT NULL COMMENT '标题', `desc` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '描述', `key` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '关键字', `copy` varchar(100) NOT NULL COMMENT '版权', PRIMARY KEY (`sys_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `system` (`sys_id`, `title`, `desc`, `key`, `copy`) VALUES (1, '图书馆', '收集全网最新最全的图书资源', '文学,社科,少儿,艺术,生活,经管', '图书资源网©版权所有'); -- 2019-07-28 14:55:17
运行实例 »
点击 "运行实例" 按钮查看在线实例
4.模板文件
【1】list.php列表模板
<?php // 加载头部文件 include __DIR__ . "/inc/header.php"; // 获取栏目id并转换为整数 // $sort_id = intval($_GET['sort_id']); // 循环体 foreach ($sorts as $sort){ if($sort['sort_id'] == $_GET['sort_id']){ echo "<h2>{$sort['sort_title']}</h2>"; echo '<ol>'; foreach ($books as $book){ if($sort['sort_id'] == $book['sort_id']){ echo "<li><a href='detail.php?book_id=".$book['book_id']."'>{$book['book_name']}</a></li>"; } } echo '</ol>'; break; }; } // 加载尾部文件 include __DIR__ . "/inc/footer.php";
运行实例 »
点击 "运行实例" 按钮查看在线实例
【2】detail.php详情页模板
<?php // 加载头部文件 include __DIR__ . "/inc/header.php"; // 获取栏目id并转换为整数 // $book_id = intval($_GET['book_id']); // 循环体 foreach ($books as $book){ if($book['book_id'] == $_GET['book_id']){ echo "<h2>{$book['book_name']}</h2>"; echo "<h4>{$book['book_author']}</h4>"; echo '<img src="static/images/'.$book['book_img'].'" alt="" width="300">'; echo "<p style='text-indent:2em;'>{$book['book_desc']}</p>"; }; } // 加载尾部文件 include __DIR__ . "/inc/footer.php";
运行实例 »
点击 "运行实例" 按钮查看在线实例
5.index.php文件,网站入口,连接整个网站
<?php // 加载头部文件 include __DIR__ . "/inc/header.php"; // 循环体 foreach ($sorts as $sort){ echo "<h2>{$sort['sort_title']}</h2>"; echo '<ol>'; foreach ($books as $book){ if($sort['sort_id'] === $book['sort_id']){ echo "<li><a href='detail.php?book_id=".$book['book_id']."'>{$book['book_name']}</a></li>"; } } echo '</ol>'; } // 加载尾部文件 include __DIR__ . "/inc/footer.php";
运行实例 »
点击 "运行实例" 按钮查看在线实例