登录  /  注册
博主信息
博文 145
粉丝 7
评论 7
访问量 159365
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
01月10日作业:运用已学的php制作动态网站
李东亚¹⁸⁰³⁹⁵⁴⁰¹²⁰
原创
1017人浏览过

一、代码:

1、css代码:(所页面代码均在里面)

  1. /*公共样式*/
  2. * {
  3. margin: 0;
  4. padding: 0;
  5. font-size: 14px;
  6. font-family: "Adobe 宋体 Std L";
  7. /*background-color: #969896;*/
  8. /*outline:3px dashed #ff0000;*/
  9. color: #333333;
  10. }
  11. a {
  12. text-decoration: none;
  13. }
  14. ul {
  15. list-style: none;
  16. }
  17. i {
  18. font-style: normal;
  19. }
  20. /*整体flex布局*/
  21. body {
  22. display: flex;
  23. flex-direction: column;
  24. }
  25. /*头部导航样式*/
  26. header {
  27. height: 80px;
  28. width: 100%;
  29. background-color: #63a35c;
  30. box-sizing: border-box;
  31. display: flex;
  32. padding: 5px 120px;
  33. align-items: center;
  34. justify-content:space-between;
  35. }
  36. header > .navs {
  37. width: 600px;
  38. align-self: flex-end;
  39. display: flex;
  40. justify-content: space-evenly;
  41. }
  42. header > .navs > span > a {
  43. font-size: 20px;
  44. }
  45. header > .navs > span > a:hover {
  46. color:#ffffff;
  47. }
  48. /*主体内容样式*/
  49. main {
  50. width: 1200px;
  51. min-height: 600px;
  52. margin: 0 auto;
  53. /*display: flex;*/
  54. /*flex-flow: column nowrap;*/
  55. padding: 10px 0;
  56. }
  57. main > div {
  58. margin: 10px 0;
  59. }
  60. main > div > span {
  61. font-size: 22px;
  62. font-weight: bold;
  63. padding-bottom: 4px;
  64. border-bottom: 2px solid #ff0000;
  65. margin-left: 20px;
  66. }
  67. /*行业新闻布局*/
  68. main > .news {
  69. display: flex;
  70. flex-flow: row nowrap;
  71. }
  72. main > .news > a > img {
  73. width: 750px;
  74. height: 400px;
  75. display: block;
  76. padding:1px;
  77. box-sizing: border-box;
  78. }
  79. main > .news > .news-list {
  80. width: 400px;
  81. display: flex;
  82. flex-flow: column;
  83. margin-left: 20px;
  84. }
  85. main > .news > .news-list > span {
  86. font-size: 18px;
  87. font-weight: bolder;
  88. color:#666666;
  89. margin-bottom: 10px;
  90. padding-bottom: 5px;
  91. border-bottom: 1px solid #ff0000;
  92. }
  93. main > .news > .news-list > ul {
  94. display: flex;
  95. flex-direction: column;
  96. justify-content: space-evenly;
  97. margin-left: 15px;
  98. }
  99. main > .news > .news-list > ul > li {
  100. height: 40px;
  101. display: flex;
  102. align-items: center;
  103. line-height: 40px;
  104. }
  105. main > .news > .news-list > ul > li > i {
  106. font-style: normal;
  107. font-size: 15px;
  108. background-color: #63a35c;
  109. color: white;
  110. width: 36px;
  111. height: 20px;
  112. text-align: center;
  113. line-height: 20px;
  114. border-radius: 4px;
  115. margin-right: 5px;
  116. }
  117. /*商品布局*/
  118. main > div > div {
  119. width: 1200px;
  120. margin: 10px auto;
  121. display: grid;
  122. grid-template-columns: repeat(4,1fr);
  123. }
  124. main > div:hover{
  125. box-shadow: 0 0 5px #404040;
  126. }
  127. main > div > div> div img {
  128. width: 200px;
  129. height: 160px;
  130. }
  131. main > div > div > div {
  132. display: flex;
  133. flex-direction: column;
  134. align-items: center;
  135. }
  136. main > div > div > div > span > i {
  137. font-style: normal;
  138. color: #ff0000;
  139. }
  140. /*底部样式*/
  141. footer {
  142. height: 120px;
  143. width: 100%;
  144. background-color: #63a35c;
  145. box-sizing: border-box;
  146. padding: 5px 120px;
  147. display: flex;
  148. flex-direction: row;
  149. justify-content: space-between;
  150. align-items: center;
  151. }
  152. footer > .info {
  153. width: 600px;
  154. height: 80px;
  155. }
  156. /*detail详情页css*/
  157. .details > span > a > i {
  158. font-style: normal;
  159. font-size: 14px ;
  160. font-weight: bold;
  161. }
  162. .details > span > a >i:hover {
  163. color:#63a35c;
  164. }
  165. .details > .good {
  166. display: flex;
  167. }
  168. .details > .good > a >img {
  169. width: 400px;
  170. height: 320px;
  171. }
  172. .details > .good > .detail {
  173. display: flex;
  174. flex-direction: column;
  175. justify-content: space-evenly;
  176. }
  177. /*page页样式*/
  178. .pages {
  179. width: 1200px;
  180. margin: 10px auto;
  181. }
  182. .pages > span > a > i {
  183. font-style: normal;
  184. font-size: 14px ;
  185. font-weight: bold;
  186. }
  187. .pages > span > a >i:hover {
  188. color:#63a35c;
  189. }
  190. .pages > .page {
  191. width: 1000px;
  192. margin: 10px auto;
  193. min-height: 550px;
  194. }
  195. .pages > .page > div {
  196. width: 400px;
  197. margin: 10px auto;
  198. font-size: 24px;
  199. text-align: center;
  200. }
  201. .pages > .page > p {
  202. margin: 20px 0;
  203. font-size: 16px;
  204. font-family: "Adobe 楷体 Std R";
  205. }

2、html:页面代码大多雷同仅传部分页面代码:

配置页代码(数据):

  1. <?php
  2. //网站名称
  3. $site='种业圈';
  4. //导航目录
  5. $navs=[
  6. ['cid'=>1,'name'=>'首页','url'=>'index.php'],
  7. ['cid'=>2,'name'=>'最新上架','url'=>'goods-list.php?cid=2'],
  8. ['cid'=>3,'name'=>'产品推荐','url'=>'goods-list.php?cid=3'],
  9. ['cid'=>4,'name'=>'行业新闻','url'=>'news-list.php'],
  10. ['cid'=>5,'name'=>'关于我们','url'=>'page.php?id=1']
  11. ];
  12. //产品信息
  13. $goods=[
  14. ['id'=>1,'src'=>'images/2%20(1).gif','name'=>'潍玉6号','pic'=>'51','detail'=>'产品介绍1','url'=>'details.php?id=1'],
  15. ['id'=>2,'src'=>'images/2%20(2).gif','name'=>'农玉16','pic'=>'52','detail'=>'产品介绍2','url'=>'details.php?id=2'],
  16. ['id'=>3,'src'=>'images/2%20(3).gif','name'=>'新玉158','pic'=>'53','detail'=>'产品介绍3','url'=>'details.php?id=3'],
  17. ['id'=>4,'src'=>'images/2%20(4).gif','name'=>'大成168','pic'=>'54','detail'=>'产品介绍4','url'=>'details.php?id=4'],
  18. ['id'=>5,'src'=>'images/2%20(5).gif','name'=>'成玉888','pic'=>'55','detail'=>'产品介绍5','url'=>'details.php?id=5'],
  19. ['id'=>6,'src'=>'images/2%20(6).gif','name'=>'成玉909','pic'=>'40','detail'=>'产品介绍6','url'=>'details.php?id=6'],
  20. ['id'=>7,'src'=>'images/2%20(7).gif','name'=>'郑单958','pic'=>'45','detail'=>'产品介绍7','url'=>'details.php?id=7'],
  21. ['id'=>8,'src'=>'images/2%20(8).gif','name'=>'郑单958','pic'=>'46','detail'=>'产品介绍8','url'=>'details.php?id=8']
  22. ];
  23. //行业新闻
  24. $news=[
  25. ['nid'=>1,'title'=>'大成种业介绍','url'=>'page.php?id=1','content'=>"河南大成种业有限公司成立于2005年,注册资本3500万元。公司是以玉米、小麦、大豆、粮油等主要农作物种子的选育、生产、加工、销售和技术服务为主的育繁推一体化企业。
  26. 2015年开始重组,至2017年3月重组完成。原秋乐种业总经理李继军博士出任大成种业董事长、宋新敏任副董事长、首席育种家、焦宏廷任总经理,标志着大成种业的组织管理机构、高管团队和育种团队正式构建完成。
  27. 公司拥有强大的科研队伍和机构。以郑州市新育农作物研究所、黄河玉米新品种创新联盟玉米新品种测试联合体、河南玉成玉米新品种创新联盟、华夏小麦新品种测试联合体、河南丰收小麦品种试验联合体、河南炎黄小麦新品种测试联合体为依托,以合作的多家科研机构为辅助,在强化自主研发的同时,加强深度合作。
  28. 公司在甘肃、海南、河南拥有稳定的制(繁)种基地。在河南荥阳建立了科研试验站,占地212亩;在新乡市平原示范区建有大型现代化种子加工储运中心。同时,配套建设有覆盖种子生产、加工、销售全流程的质量监控体系。
  29. 公司坚持“以人为本、质量优先、服务跟进”的经营理念,以农业增产、农民增收为己任,逐步健全营销网络和技术服务体系,努力把河南大成种业打造成国内外知名的育繁推一体化种子企业。"],
  30. ['nid'=>2,'title'=>'种业圈介绍','url'=>'page.php?id=2','content'=>"种业圈公众号
  31. 种业圈始建于2014年,是依托于微信公众号平台建立的,旨于借助互联网平台建立一个农资人自己的交流平台,形成一个公司、销售、代理商循环交流沟通方式。服务农业、服务种子、提供相应的信息和技术支持!"],
  32. ['nid'=>3,'title'=>'种业圈介绍2','url'=>'page.php?id=3','content'=>"种业圈公众号222222222222
  33. 种业圈始建于2014年,是依托于微信公众号平台建立的,旨于借助互联网平台建立一个农资人自己的交流平台,形成一个公司、销售、代理商循环交流沟通方式。服务农业、服务种子、提供相应的信息和技术支持!"],
  34. ['nid'=>4,'title'=>'种业圈介绍3','url'=>'page.php?id=4','content'=>"种业圈公众号3333333333333
  35. 种业圈始建于2014年,是依托于微信公众号平台建立的,旨于借助互联网平台建立一个农资人自己的交流平台,形成一个公司、销售、代理商循环交流沟通方式。服务农业、服务种子、提供相应的信息和技术支持!"],
  36. ];
  37. //最新产品,调用函数
  38. function get_hot_goods($a) {
  39. $hot_good=[];
  40. for ($num=0;$num<4;$num++){
  41. $hot_good[]=$a[$num];
  42. }
  43. return ($hot_good);
  44. };
  45. $hot_good=get_hot_goods($goods);

公共头部代码:

  1. <?php include 'config.php'?>
  2. <!doctype html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <title><?php echo $site; ?></title>
  7. <link rel="stylesheet" href="css/index.css">
  8. </head>
  9. <body>
  10. <header>
  11. <a href="index.php"><img src="images/logo.png" alt="logo"></a>
  12. <div class="navs">
  13. <?php foreach($navs as $nav):?>
  14. <span><a href="<?php echo $nav['url'] ?>"><?php echo $nav['name']?></a></span>
  15. <?php endforeach; ?>
  16. </div>
  17. </header>

公共底部代码:

  1. <footer>
  2. <a href=""><img src="images/logo.png" alt="logo" style="height: 80px;width: 200px;"></a>
  3. <div class="info">
  4. <p>种业圈公众号</p>
  5. <p>种业圈始建于2014年,是依托于微信公众号平台建立的,旨于借助互联网平台建立一个农资人自己的交流平台,形成一个公司、销售、代理商循环交流沟通方式。服务农业、服务种子、提供相应的信息和技术支持!</p>
  6. </div>
  7. <img src="images/种业圈.jpg" alt="" style="width: 80px;height: 80px;">
  8. </footer>
  9. </body>
  10. </html>

首页代码:

  1. <?php include 'public/public_header.php'?>
  2. <main>
  3. <div class="news">
  4. <div class="news-list">
  5. <span>行业新闻</span>
  6. <ul>
  7. <?php foreach($news as $new):?>
  8. <li><i>分类</i><a href="<?php echo $new['url']?>"><?php echo $new['title']?></a></li>
  9. <?php endforeach; ?>
  10. </ul>
  11. </div>
  12. <a href="">
  13. <img src="images/show1.png" alt="">
  14. </a>
  15. </div>
  16. <div class="new-goods">
  17. <span>最新上架</span>
  18. <div>
  19. <?php foreach ($hot_good as $good):?>
  20. <div class="good">
  21. <a href="<?php echo $good['url']?>"><img src="<?php echo $good['src']?>" alt=""></a>
  22. <span><?php echo $good['name']?></span>
  23. <span>价格:<i>&yen;<?php echo $good['pic']?></i></span>
  24. </div>
  25. <?php endforeach;?>
  26. </div>
  27. </div>
  28. <div class="hot-goods">
  29. <span>产品推荐</span>
  30. <div>
  31. <?php foreach ($goods as $good):?>
  32. <div class="good">
  33. <a href="<?php echo $good['url']?>"><img src="<?php echo $good['src']?>" alt=""></a>
  34. <span><?php echo $good['name']?></span>
  35. <span>价格:<i>&yen;<?php echo $good['pic']?></i></span>
  36. </div>
  37. <?php endforeach;?>
  38. </div>
  39. </div>
  40. </main>
  41. <?php include 'public/public_footer.php'?>

效果图:

产品列表页:

  1. <?php include 'public/public_header.php'?>
  2. <?php //echo $_GET['cid'];
  3. $class='';
  4. if(intval($_GET['cid'])===2) {
  5. $h_goods=get_hot_goods($goods);
  6. $class='最新上架';
  7. } elseif (intval($_GET['cid'])===3){
  8. $h_goods=$goods;
  9. $class='产品推荐';
  10. }
  11. ?>
  12. <main>
  13. <div class="new-goods">
  14. <span><?php echo $class ?></span>
  15. <div>
  16. <?php foreach ($h_goods as $good):?>
  17. <div class="good">
  18. <a href="<?php echo $good['url']?>"><img src="<?php echo $good['src']?>" alt=""></a>
  19. <span><?php echo $good['name']?></span>
  20. <span>价格:<i>&yen;<?php echo $good['pic']?></i></span>
  21. </div>
  22. <?php endforeach;?>
  23. </div>
  24. </div>
  25. </main>
  26. <?php include 'public/public_footer.php'?>

效果图:

产品详情页和文章详情页:

1、产品详情页

  1. <?php include 'public/public_header.php'?>
  2. <?php
  3. function get_food_id($goods) {
  4. foreach ($goods as $good) {
  5. if (intval($_GET['id'])===$good['id']) {
  6. return $good;
  7. }
  8. }
  9. }
  10. $good=get_food_id($goods);
  11. ?>
  12. <main class="details">
  13. <span><a href=""><i>最新上架</i></a>&nbsp;&nbsp;》产品详情</span>
  14. <div class="good">
  15. <a href="<?php echo $good['url']?>"><img src="<?php echo $good['src']?>" alt=""></a>
  16. <div class="detail">
  17. <span><?php echo $good['name']?></span>
  18. <span>价格:<i>&yen;<?php echo $good['pic']?></i></span>
  19. <p><?php echo $good['detail']?></p>
  20. </div>
  21. </div>
  22. </main>
  23. <?php include 'public/public_footer.php'?>

效果:

文章详情页

  1. <?php include 'public/public_header.php'?>
  2. <?php
  3. function get_new_id($news){
  4. foreach ($news as $new) {
  5. if ($new['nid']===intval($_GET['id'])){
  6. return $new;
  7. }
  8. }
  9. }
  10. $new=get_new_id($news);
  11. ?>
  12. <div class="pages">
  13. <span><a href="news-list.php"><i>行业新闻</i></a>&nbsp;&nbsp;》内容详情</span>
  14. <div class="page">
  15. <div><?php echo $new['title']?></div>
  16. <p><?php echo $new['content']?></p>
  17. </div>
  18. </div>
  19. <?php include 'public/public_footer.php'?>

效果图:

作业总结:

1、网站网页规划不好,没能很好的利用组件效果。网页布局有些凌乱:
特别是在写CSS的时候,不同页面没有很好的区分class属性,在写首页是直接用标签选择器(没有用类),忽略了其他的面布局,造成不同页面相同结构的标签属性一直,有些页面无法调整css属性,
可重复利用的css属性和单个页面的css不能很好的区分;
2、数据已经可以动态化实现
3、网站:先写首页(先不考虑数据动态化)——在拆分头部和底部以及栏目分类等,组件化;——在写其他页面——然后捉个页面,修改元素内容(利用php实现数据动态化)。
4、php和html混编时:php分支语句和循环语句的简写:大括号以:代替,结尾以类似end开头endif结尾
5、css导入外部样式文件:@import();
php导入外部php文件:include ();或者require();(两者区别在于,include导入失败,依旧执行后面代码,require则不执行);
6、array_rand($arr,int);随机获取数组中int个键名
7、__DIR__获取文件所在文件的绝对路径
8、利用php输出函数echoprint_r产看输出结果调试

批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:以后调试, 可以直接用var_dump()+die;或者直接xdebug.... 前端写得不完美, 没关系的, 以后可以借助框架解决, 重要放在编程思维和业务逻辑上
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学