Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:以后调试, 可以直接用var_dump()+die;或者直接xdebug....
前端写得不完美, 没关系的, 以后可以借助框架解决, 重要放在编程思维和业务逻辑上
/*公共样式*/
* {
margin: 0;
padding: 0;
font-size: 14px;
font-family: "Adobe 宋体 Std L";
/*background-color: #969896;*/
/*outline:3px dashed #ff0000;*/
color: #333333;
}
a {
text-decoration: none;
}
ul {
list-style: none;
}
i {
font-style: normal;
}
/*整体flex布局*/
body {
display: flex;
flex-direction: column;
}
/*头部导航样式*/
header {
height: 80px;
width: 100%;
background-color: #63a35c;
box-sizing: border-box;
display: flex;
padding: 5px 120px;
align-items: center;
justify-content:space-between;
}
header > .navs {
width: 600px;
align-self: flex-end;
display: flex;
justify-content: space-evenly;
}
header > .navs > span > a {
font-size: 20px;
}
header > .navs > span > a:hover {
color:#ffffff;
}
/*主体内容样式*/
main {
width: 1200px;
min-height: 600px;
margin: 0 auto;
/*display: flex;*/
/*flex-flow: column nowrap;*/
padding: 10px 0;
}
main > div {
margin: 10px 0;
}
main > div > span {
font-size: 22px;
font-weight: bold;
padding-bottom: 4px;
border-bottom: 2px solid #ff0000;
margin-left: 20px;
}
/*行业新闻布局*/
main > .news {
display: flex;
flex-flow: row nowrap;
}
main > .news > a > img {
width: 750px;
height: 400px;
display: block;
padding:1px;
box-sizing: border-box;
}
main > .news > .news-list {
width: 400px;
display: flex;
flex-flow: column;
margin-left: 20px;
}
main > .news > .news-list > span {
font-size: 18px;
font-weight: bolder;
color:#666666;
margin-bottom: 10px;
padding-bottom: 5px;
border-bottom: 1px solid #ff0000;
}
main > .news > .news-list > ul {
display: flex;
flex-direction: column;
justify-content: space-evenly;
margin-left: 15px;
}
main > .news > .news-list > ul > li {
height: 40px;
display: flex;
align-items: center;
line-height: 40px;
}
main > .news > .news-list > ul > li > i {
font-style: normal;
font-size: 15px;
background-color: #63a35c;
color: white;
width: 36px;
height: 20px;
text-align: center;
line-height: 20px;
border-radius: 4px;
margin-right: 5px;
}
/*商品布局*/
main > div > div {
width: 1200px;
margin: 10px auto;
display: grid;
grid-template-columns: repeat(4,1fr);
}
main > div:hover{
box-shadow: 0 0 5px #404040;
}
main > div > div> div img {
width: 200px;
height: 160px;
}
main > div > div > div {
display: flex;
flex-direction: column;
align-items: center;
}
main > div > div > div > span > i {
font-style: normal;
color: #ff0000;
}
/*底部样式*/
footer {
height: 120px;
width: 100%;
background-color: #63a35c;
box-sizing: border-box;
padding: 5px 120px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
footer > .info {
width: 600px;
height: 80px;
}
/*detail详情页css*/
.details > span > a > i {
font-style: normal;
font-size: 14px ;
font-weight: bold;
}
.details > span > a >i:hover {
color:#63a35c;
}
.details > .good {
display: flex;
}
.details > .good > a >img {
width: 400px;
height: 320px;
}
.details > .good > .detail {
display: flex;
flex-direction: column;
justify-content: space-evenly;
}
/*page页样式*/
.pages {
width: 1200px;
margin: 10px auto;
}
.pages > span > a > i {
font-style: normal;
font-size: 14px ;
font-weight: bold;
}
.pages > span > a >i:hover {
color:#63a35c;
}
.pages > .page {
width: 1000px;
margin: 10px auto;
min-height: 550px;
}
.pages > .page > div {
width: 400px;
margin: 10px auto;
font-size: 24px;
text-align: center;
}
.pages > .page > p {
margin: 20px 0;
font-size: 16px;
font-family: "Adobe 楷体 Std R";
}
<?php
//网站名称
$site='种业圈';
//导航目录
$navs=[
['cid'=>1,'name'=>'首页','url'=>'index.php'],
['cid'=>2,'name'=>'最新上架','url'=>'goods-list.php?cid=2'],
['cid'=>3,'name'=>'产品推荐','url'=>'goods-list.php?cid=3'],
['cid'=>4,'name'=>'行业新闻','url'=>'news-list.php'],
['cid'=>5,'name'=>'关于我们','url'=>'page.php?id=1']
];
//产品信息
$goods=[
['id'=>1,'src'=>'images/2%20(1).gif','name'=>'潍玉6号','pic'=>'51','detail'=>'产品介绍1','url'=>'details.php?id=1'],
['id'=>2,'src'=>'images/2%20(2).gif','name'=>'农玉16','pic'=>'52','detail'=>'产品介绍2','url'=>'details.php?id=2'],
['id'=>3,'src'=>'images/2%20(3).gif','name'=>'新玉158','pic'=>'53','detail'=>'产品介绍3','url'=>'details.php?id=3'],
['id'=>4,'src'=>'images/2%20(4).gif','name'=>'大成168','pic'=>'54','detail'=>'产品介绍4','url'=>'details.php?id=4'],
['id'=>5,'src'=>'images/2%20(5).gif','name'=>'成玉888','pic'=>'55','detail'=>'产品介绍5','url'=>'details.php?id=5'],
['id'=>6,'src'=>'images/2%20(6).gif','name'=>'成玉909','pic'=>'40','detail'=>'产品介绍6','url'=>'details.php?id=6'],
['id'=>7,'src'=>'images/2%20(7).gif','name'=>'郑单958','pic'=>'45','detail'=>'产品介绍7','url'=>'details.php?id=7'],
['id'=>8,'src'=>'images/2%20(8).gif','name'=>'郑单958','pic'=>'46','detail'=>'产品介绍8','url'=>'details.php?id=8']
];
//行业新闻
$news=[
['nid'=>1,'title'=>'大成种业介绍','url'=>'page.php?id=1','content'=>"河南大成种业有限公司成立于2005年,注册资本3500万元。公司是以玉米、小麦、大豆、粮油等主要农作物种子的选育、生产、加工、销售和技术服务为主的育繁推一体化企业。
2015年开始重组,至2017年3月重组完成。原秋乐种业总经理李继军博士出任大成种业董事长、宋新敏任副董事长、首席育种家、焦宏廷任总经理,标志着大成种业的组织管理机构、高管团队和育种团队正式构建完成。
公司拥有强大的科研队伍和机构。以郑州市新育农作物研究所、黄河玉米新品种创新联盟玉米新品种测试联合体、河南玉成玉米新品种创新联盟、华夏小麦新品种测试联合体、河南丰收小麦品种试验联合体、河南炎黄小麦新品种测试联合体为依托,以合作的多家科研机构为辅助,在强化自主研发的同时,加强深度合作。
公司在甘肃、海南、河南拥有稳定的制(繁)种基地。在河南荥阳建立了科研试验站,占地212亩;在新乡市平原示范区建有大型现代化种子加工储运中心。同时,配套建设有覆盖种子生产、加工、销售全流程的质量监控体系。
公司坚持“以人为本、质量优先、服务跟进”的经营理念,以农业增产、农民增收为己任,逐步健全营销网络和技术服务体系,努力把河南大成种业打造成国内外知名的育繁推一体化种子企业。"],
['nid'=>2,'title'=>'种业圈介绍','url'=>'page.php?id=2','content'=>"种业圈公众号
种业圈始建于2014年,是依托于微信公众号平台建立的,旨于借助互联网平台建立一个农资人自己的交流平台,形成一个公司、销售、代理商循环交流沟通方式。服务农业、服务种子、提供相应的信息和技术支持!"],
['nid'=>3,'title'=>'种业圈介绍2','url'=>'page.php?id=3','content'=>"种业圈公众号222222222222
种业圈始建于2014年,是依托于微信公众号平台建立的,旨于借助互联网平台建立一个农资人自己的交流平台,形成一个公司、销售、代理商循环交流沟通方式。服务农业、服务种子、提供相应的信息和技术支持!"],
['nid'=>4,'title'=>'种业圈介绍3','url'=>'page.php?id=4','content'=>"种业圈公众号3333333333333
种业圈始建于2014年,是依托于微信公众号平台建立的,旨于借助互联网平台建立一个农资人自己的交流平台,形成一个公司、销售、代理商循环交流沟通方式。服务农业、服务种子、提供相应的信息和技术支持!"],
];
//最新产品,调用函数
function get_hot_goods($a) {
$hot_good=[];
for ($num=0;$num<4;$num++){
$hot_good[]=$a[$num];
}
return ($hot_good);
};
$hot_good=get_hot_goods($goods);
<?php include 'config.php'?>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title><?php echo $site; ?></title>
<link rel="stylesheet" href="css/index.css">
</head>
<body>
<header>
<a href="index.php"><img src="images/logo.png" alt="logo"></a>
<div class="navs">
<?php foreach($navs as $nav):?>
<span><a href="<?php echo $nav['url'] ?>"><?php echo $nav['name']?></a></span>
<?php endforeach; ?>
</div>
</header>
<footer>
<a href=""><img src="images/logo.png" alt="logo" style="height: 80px;width: 200px;"></a>
<div class="info">
<p>种业圈公众号</p>
<p>种业圈始建于2014年,是依托于微信公众号平台建立的,旨于借助互联网平台建立一个农资人自己的交流平台,形成一个公司、销售、代理商循环交流沟通方式。服务农业、服务种子、提供相应的信息和技术支持!</p>
</div>
<img src="images/种业圈.jpg" alt="" style="width: 80px;height: 80px;">
</footer>
</body>
</html>
<?php include 'public/public_header.php'?>
<main>
<div class="news">
<div class="news-list">
<span>行业新闻</span>
<ul>
<?php foreach($news as $new):?>
<li><i>分类</i><a href="<?php echo $new['url']?>"><?php echo $new['title']?></a></li>
<?php endforeach; ?>
</ul>
</div>
<a href="">
<img src="images/show1.png" alt="">
</a>
</div>
<div class="new-goods">
<span>最新上架</span>
<div>
<?php foreach ($hot_good as $good):?>
<div class="good">
<a href="<?php echo $good['url']?>"><img src="<?php echo $good['src']?>" alt=""></a>
<span><?php echo $good['name']?></span>
<span>价格:<i>¥<?php echo $good['pic']?></i></span>
</div>
<?php endforeach;?>
</div>
</div>
<div class="hot-goods">
<span>产品推荐</span>
<div>
<?php foreach ($goods as $good):?>
<div class="good">
<a href="<?php echo $good['url']?>"><img src="<?php echo $good['src']?>" alt=""></a>
<span><?php echo $good['name']?></span>
<span>价格:<i>¥<?php echo $good['pic']?></i></span>
</div>
<?php endforeach;?>
</div>
</div>
</main>
<?php include 'public/public_footer.php'?>
效果图:
<?php include 'public/public_header.php'?>
<?php //echo $_GET['cid'];
$class='';
if(intval($_GET['cid'])===2) {
$h_goods=get_hot_goods($goods);
$class='最新上架';
} elseif (intval($_GET['cid'])===3){
$h_goods=$goods;
$class='产品推荐';
}
?>
<main>
<div class="new-goods">
<span><?php echo $class ?></span>
<div>
<?php foreach ($h_goods as $good):?>
<div class="good">
<a href="<?php echo $good['url']?>"><img src="<?php echo $good['src']?>" alt=""></a>
<span><?php echo $good['name']?></span>
<span>价格:<i>¥<?php echo $good['pic']?></i></span>
</div>
<?php endforeach;?>
</div>
</div>
</main>
<?php include 'public/public_footer.php'?>
效果图:
<?php include 'public/public_header.php'?>
<?php
function get_food_id($goods) {
foreach ($goods as $good) {
if (intval($_GET['id'])===$good['id']) {
return $good;
}
}
}
$good=get_food_id($goods);
?>
<main class="details">
<span><a href=""><i>最新上架</i></a> 》产品详情</span>
<div class="good">
<a href="<?php echo $good['url']?>"><img src="<?php echo $good['src']?>" alt=""></a>
<div class="detail">
<span><?php echo $good['name']?></span>
<span>价格:<i>¥<?php echo $good['pic']?></i></span>
<p><?php echo $good['detail']?></p>
</div>
</div>
</main>
<?php include 'public/public_footer.php'?>
效果:
<?php include 'public/public_header.php'?>
<?php
function get_new_id($news){
foreach ($news as $new) {
if ($new['nid']===intval($_GET['id'])){
return $new;
}
}
}
$new=get_new_id($news);
?>
<div class="pages">
<span><a href="news-list.php"><i>行业新闻</i></a> 》内容详情</span>
<div class="page">
<div><?php echo $new['title']?></div>
<p><?php echo $new['content']?></p>
</div>
</div>
<?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输出函数echo
和print_r
产看输出结果调试