第一步
1. 怎么一次性修改引入项目文件的路径(可以将项目文件的地址拆分进行部分修改)
方法1:ctrl+shift+E -->find (内容/地址)-->replace(修改后的内容/地址)-->save All / 保存全部-->esc退出
方法2:点击文件单击--->find & replace..-->find (内容/地址)-->replace(修改后的内容/地址)-->esc退出
2. 怎么一次性把项目中的html文件改成php
win+R-->打开CMD文件-->打开项目所在的盘(C:)-->enter-->输入项目所在的地址(C:\project\baixiu)-->enter-->ren *.html *.php-->enter // 修改那个文件夹下的html就复制那个文件夹的地址
修改整个文件夹中所有文件中a标签指向的html文件为php文件 打开sublime-->ctrl+shift+E-->点击右下角三个小点点。。。-->选定对应文件夹-->进行find , replace的修改-->save All / 保存全部-->esc退出
修改单个页面中的选定的所有字段名/文件的后缀名 ctrl+H -->进行find replace的修改 -->save All /保存全部-->esc退出
第二步
1)抽离公共类 ,将所有公共类存储在一个文件夹中,在对应页面中引入公共文件。
<?php include 'public/header.php' ?> //载入文件失败时(即没有找到该文件),报一个“提示错误”,然后继续执行后续代码, 重复载入
<?php include_once 'public/header.php' ?> 载入文件失败时,报错,继续执行后续代码,只载入一次 不重复载入
<?php require 'public/header.php' ?> //载入文件失败时,报错并立即终止执行。重复载入
<?php require_once 'public/header.php' ?> 载入文件失败时,报错并立即终止执行。只载入一次
2)建立公共类页面和数据库的关系
<?php
// 连接数据库
$connect=mysqli_connect(DB_HOST,DB_USER,DB_PWD,DB_NAME);
// 写sql
$sql="select * from categories where id!=1";
// 执行sql
$result=mysqli_query($connect,$sql);//查询获取的是结果集 还不能直接用 需要while循环拿出来
// var_dump($result);
$arr=[];//空数组
while($row=mysqli_fetch_assoc($result)){
// print_r($row);//循环一次拿出一行 是一个数组
$arr[]=$row;//把数据放入$arr数组
}
3)动态渲染到页面,数据动态的进行更改
<?php foreach($arr as $value) : ?>
<li><a href="list.php?categoryId=<?php echo $value['id'] ?>"><i class="fa <?php echo $value['classname'] ?>"></i><?php echo $value['name'] ?></a></li>
<?php endforeach ?> //<a href="list.php?categoryId=<?php echo $value['id'] ?>">跳转到下一层页面,并带着对应的id值
第三步
1)根据数据库中的数据动态生成结构
1>书写配置文件:新建一个php文件-->书写php的配置文件 config.php(建立数据库跟服务器之间的关联)
<?php
//$localhost='localhost';//变量 可以随便更改
//数据库的主机//如果不是自己电脑作为服务器进行传输,不可以使用localhost,指的是本机的的地址
//define('名字',值);常量 一旦定义好了值就永远是那个不能修改了,修改就报错、
//数据库主机
define('DB_HOST','localhost');
//数据库的用户名
define('DB_USER','root');
//数据库的密码
define('DB_PWD','root');
//数据库的名字
define('DB_NAME','db_baixiu');
?>
2>引入配置文件
1)引入配置文件到所有需要数据更新的网页php文件中(浏览器端展示的网页需要引入配置文件,抽离出来的公共类文件不需要引入配置文件)。
require_once 'config.php';
2)连接数据库(建立当前php页面和数据库之间的连接) /(所有需要数据库传输数据的页面都有要连接数据库)
$connect=mysqli_connect(DB_HOST,DB_USER,DB_PWD,DB_NAME);
3)准备sql语句,进行数据的查询(先在数据库中进行查询)
公共类样式中数据查询:
$sql="select * from categories where id!=1";
页面中:$sql="select p.title,p.feature,p.content,p.created,p.views,p.likes,u.nickname,c.name,(select count(id) from comments where post_id=p.id ) as commentsCount
from posts p
left join categories c on c.id=p.category_id
left join users u on u.id=p.user_id
where p.category_id={$categoryId}
limit 10";
4)执行查询操作(得到的是一个数据集)
$result=mysqli_query($connect,$sql);
5)把数据集转化成二维数组(网页和公共类中都需要将结果转换成二维数组)
<code class="language-php">// mysql_fetch_assoc() -- 从结果集中取得一行作为关联数组
// mysql_fetch_row() --从结果集中获取索引数组
//mysql_fetch_array() -- 两者皆有
$postArr=[];
while($row=mysqli_fetch_assoc($postResult)){
$postArr[]=$row;
}
6)封装数据库连接(并且对应的引入对应的文件,并且调用文件中自己所需要的函数)(index/list)文件均需要以此方法进行遍历引入
<?php
// 连接数据库
function connect(){
$connect=mysqli_connect(DB_HOST,DB_USER,DB_PWD,DB_NAME);
return $connect;
}
// 查询 调用函数的地方就得到了 那个函数的返回值
// query()
function query($connect,$sql){
$result=mysqli_query($connect,$sql);//结果集
return fetch( $result );
}
// 转成成二维数组
function fetch($result){
$arr=[];
while($row=mysqli_fetch_assoc($result)){
$arr[]=$row;
}
return $arr;
}
?>
7)遍历二维数组(所有动态需要更新的文档都需要进行数组的遍历动态生成)(index/list)文件均需要以此方法进行遍历引入
<h3><?php echo $postArr[0]['name'] ?></h3>
<?php foreach($postArr as $value) : ?>
<div class="entry">
<div class="head">
<a href="detail.php"> <?php echo $value['title'] ?></a>
</div>
<div class="main">
<p class="info"><?php echo $value['nickname'] ?> 发表于 <?php echo $value['created'] ?></p>
<p class="brief"> <?php echo $value['content'] ?></p>
<p class="extra">
<span class="reading">阅读(<?php echo $value['views'] ?>)</span>
<span class="comment">评论(<?php echo $value['commentsCount'] ?>)</span>
<a href="detail.php" class="like">
<i class="fa fa-thumbs-up"></i>
<span>赞(<?php echo $value['likes'] ?>)</span>
</a>
<a href="javascript:;" class="tags">
分类:<span><?php echo $value['name'] ?></span>
</a>
</p>
<a href="javascript:;" class="thumb">
<img src="static/uploads/hots_2.jpg" alt="">
</a>
</div>
</div>
<?php endforeach ?>