博主信息
博文 36
粉丝 4
评论 3
访问量 39053
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
7.25 改写7.23用数据库管理网站内容
大灰狼的博客
原创
821人浏览过

改写7.23用数据库管理网站内容

文件结构

1.png

首页效果

2.png

栏目列表

3.png

4.png

歌曲详情 http://localhost/0725/demo/details.php?mus_id=2

5.png


程序在本地一切正常上传服务器后 出现乱码~ 经过排查是数据库读取出来的显示了中文乱码
解决办法 给pdo增加第四个参数 array(PDO::MYSQL_ATTR_INIT_COMMAND => "set names utf8")

database.php

<?php
//将配置信息 封装成数组
	return[
	'type'=>'mysql',
	'host'=>'127.0.0.1',
	'dbname'=>'music',
	'username'=>'root',
	'password'=>'root',
	];
?>

connect.php

<?php
$db=require 'database.php';

$dns="{$db['type']}:host={$db['host']};dbname={$db['dbname']}";
$username=$db['username'];
$password=$db['password'];
$opt = array(PDO::MYSQL_ATTR_INIT_COMMAND => "set names utf8");
try{
	$pdo=new PDO($dns,$username,$password,$opt);
//	var_dump($pdo); //可以打印pdo对象  有对象就说明成功了
}catch(PDOException $e){
	die('连接失败'.$e->getMessage());
}

header.php

实例

<?php
//连接数据库
require __DIR__.'/connect.php';

//网站配置信息
$sql='SELECT * FROM `webconfig` ';
$stmt=$pdo->prepare($sql);
$stmt->execute();
//fetch 拿到的是一维数组 并且值拿到一条数据  fetchAll拿到的是二维数组
$webConfig=$stmt->fetch(PDO::FETCH_ASSOC);

//导航栏目信息
$sql='SELECT `classify`,`nameEn`,`nameCn` FROM `menu`  ';
$stmt=$pdo->prepare($sql);
$stmt->execute();
$menu=$stmt->fetchAll(PDO::FETCH_ASSOC);

//歌曲歌曲列表信息
$sql='SELECT `mus_id`,`name`,`images`,`lyric`,`mus_url`,`classify`,`mus_play` FROM `musics`  ';
$stmt=$pdo->prepare($sql);
$stmt->execute();
$musics=$stmt->fetchAll(PDO::FETCH_ASSOC);

?>
<!DOCTYPE html>
<html lang="zh">
<head>
	<meta charset="UTF-8" />
	<meta name="viewport" content="width=device-width, initial-scale=1.0" />
	<meta http-equiv="X-UA-Compatible" content="ie=edge" />
 	<meta name="Keywords" content="<?php echo $webConfig['key'] ;?>"/>
	<meta name="Description" content="<?php echo $webConfig['desc'] ;?>"/>
	<title><?php echo $webConfig['webname'] ;?>-<?php echo $webConfig['title'] ;?></title>
	<link rel="stylesheet" type="text/css" href="./static/css/style.css"/>
</head>
<body>
	<div class="header">
		<ul>
			<span>大灰狼的音乐馆</span>
			<li><a href="index.php">首页</a></li>
			<?php foreach($menu as $key=>$value): ?>
			<li><a href="list.php?classify=<?=$value['classify'];?>"><?=$value['nameCn'];?></a></li>
			<?php endforeach ?>
		</ul>
	</div>
	<!--网站通用顶部结束-->
	<div class="main">

运行实例 »

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


index.php

实例

<?php 
include __DIR__.'/inc/header.php';

foreach ($menu as $key => $value) {
	echo "<h2>{$value['nameCn']}</h2>";
	echo "<ol>";
	foreach ($musics as $keym => $valuem) {
		if ($value['classify']===$valuem['classify']) {
			echo "<li><a href='details.php?mus_id={$valuem['mus_id']}'>{$valuem['name']}</a></li>";
		} 
	}
	echo "</ol>";
	
}

include __DIR__.'/inc/footer.php';

运行实例 »

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


list.php

实例

<?php
include __DIR__ . '/inc/header.php';
//取当前栏目id 并将其转为整数
$classId = intval($_GET['classify']);

foreach ($menu as $key => $value) {
	if (intval($value['classify']) === $classId) {
		echo "<h2>{$value['nameCn']}</h2>";
		echo "<ol>";
		foreach ($musics as $keym => $valuem) {
			if ($value['classify'] === $valuem['classify']) {
				echo "<li><a href='details.php?mus_id={$valuem['mus_id']}'>{$valuem['name']}</a></li>";
			}
		}
		echo "</ol>";
	}
}

include __DIR__ . '/inc/footer.php';

运行实例 »

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

details.php

实例

<?php
include __DIR__ . '/inc/header.php';
//取当前详情id 并将其转为整数
$musicId = intval($_GET['mus_id']);

foreach ($musics as $key => $value) {
	if(intval($value['mus_id'])===$musicId){
		echo "<h3>{$value['name']}</h3>";
		echo '<img src="./static/images/'.$value['images']. '" >';
		echo "<div>{$value['mus_play']}</div>";
		echo "<p>{$value['lyric']}</p>";
		echo "<br/>";
		echo "<span>{$value['name']}歌曲下载网址:{$value['mus_url']}{$value['mus_id']}</span>";
	};
};


include __DIR__ . '/inc/footer.php';

运行实例 »

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

也可访问实际线上预览

http://www.xdidc点com/test0725/demo/index.php



批改状态:合格

老师批语:写得真不错, 就差一个管理后台就是是一个点播站了
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

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

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