1.用database.php return数据库信息;
2.用connect.php 导入database.php文件,PDO连接数据库;
3.在公共头文件header.php导入connect.php文件连接数据库,获取来自数据表的网站内容
4.用select来查询数据表的网站内容,然后进行fetch或fetchAll遍历
效果看这个网站 pc.wenbus.cn/0725/index.php 二级域名,老师批改的时候直接复制下域名
database.php代码:<?php
return [
'type' => 'mysql',
'host' => '127.0.0.1',
'dbname' => 'php1',
'username' => 'root',
'password' => 'root'
];
connect.php连接数据库代码<?php
$db = require __DIR__ .'/database.php';
$dsn = "{$db['type']:host={$db['host];dbname={$db['dbname']}";
$username = $db['username'];
$password = $db['password'];
try{
$pdo -> prepare($dsn,$username,$password);
}catch(PDOException $e){
echo '连接失败'.$e -> getMessage();
}
header公共头文件(获取数据表的网站内容)
实例
// 获取数据库连接文件
require __DIR__ . '/connect.php';
// 系统内容设置参数
$stmt = $pdo->prepare('SELECT * FROM `system` LIMIT 1');
$stmt ->execute();
$system = $stmt ->fetch(PDO::FETCH_ASSOC);
// 栏目数据
$sql = 'SELECT `cate_id`, `name`,`alias` FROM `cagegory`';
$stmt = $pdo-> prepare($sql);
$stmt->execute();
$cates=$stmt->fetchAll(PDO::FETCH_ASSOC);
$cate_count = count($cates);
// 内容数据
$stmt = $pdo->prepare('SELECT `detail_id`,`name`,`image`,`detail`,`cate_id` FROM `details`');
$stmt -> execute();
$details = $stmt -> fetchAll(PDO::FETCH_ASSOC);
?>
html>
">
">
<?php echo $system['title'] ?>- 首页
foreach ($cates as $cate): ?>
"><?php echo $cate['alias'] ?>运行实例 »
点击 "运行实例" 按钮查看在线实例
这是首页index.php代码实例
// 头部公共组件
include __DIR__ .'/inc/header.php';
// 网页内容区
//遍历栏目
foreach ($cates as $cate){
echo "
{$cate['alias']}
";echo '
- ';
// 遍历内容数据
foreach ($details as $detail){
// print_r($detail['cate_id']);
// 当栏目的cate_id与数据的cate_id对应,显示内部数据,类似分类
if ($cate['cate_id'] === $detail['cate_id']){
echo "
{$detail['name']}";}
}
echo '
';}
// 尾部公共组件
include __DIR__ .'/inc/footer.php';
运行实例 »
点击 "运行实例" 按钮查看在线实例
这是列表页模板list.php代码实例
// 头部公共组件
include __DIR__ .'/inc/header.php';
//获取栏目id
$cate_id = $_GET['cate_id'];
//函数转换
//$cate_id = intval($cate_id);
//这里intval处理ID后,是int整数类型,在foreach遍历时,$cate['cate_id']用dump获取是字符串类型
//var_dump($cate_id); 是int整数类型
//遍历栏目
foreach ($cates as $cate){
// var_dump($cate['cate_id']); 这里dump获取到数据是字符串string类型
// 用获取的栏目cate_id来判断 输出于获取到的栏目id相同的栏目数据
if($cate['cate_id'] === $cate_id){
echo "
{$cate['alias']}
";echo '
- ';
// 遍历内容数据区
foreach ($details as $detail){
// 用获取的栏目cate_id与内容数据中的cate_id进行判断 输出等同的内容数据
if ($cate['cate_id'] === $detail['cate_id']){
echo "
{$detail['name']}";}
}
echo '
';}
}
// 尾部公共组件
include __DIR__ .'/inc/footer.php';
运行实例 »
点击 "运行实例" 按钮查看在线实例
数据表