博客列表 >网站内容的模块化与模板制作--2019年7月24日0:02

网站内容的模块化与模板制作--2019年7月24日0:02

gaoqi的博客
gaoqi的博客原创
2019年07月24日 00:10:07463浏览

总结

总结

1、通过数组赋值及GET请求实现了简单的网站三级结构(首页-列表页-详情页)

2、通过GET请求方式请求数据=以后学习数据库的ID调用方式


1、首页

<?php
// 加载公共头部
include __DIR__ . "/inc/header.php";

// 使用双重循环来遍历二个数组
// 外层遍历栏目数组$cates, 内层根据栏目id来查询对应的影视剧信息
foreach ($cates as $cate) {

    echo "<h2>{$cate['alias']}</h2>";

    echo '<ol>';

    // 遍历影视剧数组
    foreach ($movies as $movie) {
        // 判断当前影视剧所属栏目是否与当前栏目id相同?
        if ($cate['cate_id'] === $movie['cate_id']) {
            echo "<li><a href='detail.php?mov_id=" .$movie['mov_id']. "'>{$movie['name']}</a></li>";
        }
    }

    echo '</ol>';

}

// 加载公共底部
include __DIR__ . '/inc/footer.php';

运行实例 »

点击 "运行实例" 按钮查看在线实例


 2、列表页

<?php
// 加载公共头部
include __DIR__ . '/inc/header.php';

// 将当前栏目id,, 使用GET方式,通过URL地址传递到列表模板list.php
$cate_id = $_GET['cate_id'];

// 注意: url中的内容都是字符串, 整数字符串先做类型转换才可以
//echo gettype($cate_id);die;
$cate_id = intval($cate_id);  // 函数转换

// 将index.php中的主体代码简单修改一下
// 只显示一个栏目, 不需要做循环, 只需要作一个判断即可
foreach ($cates as $cate) {

    // 在index.php基础上加一层判断,确定是否是当前栏目即可
    // 如果上面的GET参数没有做类型转换, 那么这里就不能用===恒等
    // 必须使用==, 以触发系统的类型自动转换机掉, 我还是建议全等操作
    // == : 只比较值是否相等,  ===: 值与类型,都必须完全相同
    if ($cate['cate_id'] === $cate_id) {
        echo "<h2>{$cate['alias']}</h2>";
        echo '<ol>';
        foreach ($movies as $movie) {
            if ($cate['cate_id'] == $movie['cate_id']) {
                echo "<li><a href='detail.php?mov_id=" .$movie['mov_id']. "'>{$movie['name']}</a></li>";
            }
        }
        echo '</ol>';
        break; // 结束循环
    };
}

// 加载公共底部
include __DIR__ . '/inc/footer.php';

运行实例 »

点击 "运行实例" 按钮查看在线实例

3、详情页

// 加载公共头部
include __DIR__ . '/inc/header.php';

$mov_id = intval($_GET['mov_id']);

// 复制list.php模板直接修改

foreach ($movies as $movie) {
    if ($movie['mov_id'] === $mov_id) {
        echo "<h3>{$movie['name']}</h3>";
        echo '<img src="static/images/' . $movie['image'] . '" alt="" width="300">';
        echo "<p style='text-indent: 2em'>{$movie['detail']}</p>";
    }
};

// 加载公共底部
include __DIR__ . '/inc/footer.php';

运行实例 »

点击 "运行实例" 按钮查看在线实例

 1.png

2.png

3.png

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议