对数据库操作一无所知,直播课中讲到的PDO,一直没有听懂,就在PHP中文网上找了一套PDO小型项目的视频学习,这次用双休的时间照视频制作了一套非常简陋的学生管理系统。
一、数据库准备
1、下载adminer.php,用于操作数据库,phpmyadmin太复杂了。
2、用adminer.php连接数据库,创建一个新的数据库【myphp】,编码为:utf8_general_ci
3、在myphp数据库创建一个数据表class,引擎为myaISAM
4、创建以下字段
5、点击【新建数据】,然后新增2条同学的信息,如下图
6、数据库的创建就基本完成。
二、使用PDO连接据库
1、在phpstudy中创建一个站点
2、在站1点中创建index.php文件,作为主页
3、创建conn.php文档,用于连接数据库<?php
try {
$dns = 'mysql:host=127.0.0.1;dbname=myphp';
$pdo = new PDO($dns, 'root', 'root');
} catch (PDOException $a) {
die('数据库连接失败' . $a->getMessage());
}
print_r($pdo);
echo '数据库连接成功';
//如果连接成功,最后两段代码可以删除或是注释掉。
4、在index.php中引入conn.php文件html>
学生管理系统include('conn.php');
?>
5、在浏览器中动态测试index.php页面,能否连接成功,在页面中都会显示相应的信息。
三、首页布局
1、创建menu.php文档,制作菜单页浏览学生
增加学生
2、在index.php中引入menu.php,并制作一个表格html>
学生管理系统include('conn.php');
?>
学生管理系统
include('menu.php');
?>
ID | 姓名 | 性别 | 年龄 | 班级 | *** | 操作 |
3、再开始使用PHP进行数据库的内容读取了。
四、遍历数据库内容
1、在index.php页面,插入以下代码html>
学生管理系统include('conn.php');
?>
学生管理系统
include('menu.php');
?>
ID | 姓名 | 性别 | 年龄 | 班级 | *** | 操作 |
$sql = 'SELECT * FROM `myclass`';
foreach ($pdo->query($sql) as $e):
?>
<?php echo $e['id']; ?><?php echo $e['name']; ?><?php echo $e['sex'] ? '男' : '女'; ?><?php echo $e['age']; ?><?php echo $e['class']; ?><?php echo $e['mobile']; ?>修改
删除
endforeach;
$pdo = null;
?>
2、此时浏览页面,可以看到数据库中的数据已调用出来了。
五、增加学生数据
1、创建add.php文档,插入以下代码:html>
学生管理系统include('conn.php');
?>
学生管理系统
include('menu.php');
?>
2、再插入表单标签html>
学生管理系统include('conn.php');
?>
学生管理系统
include('menu.php');
?>
增加学生信息
姓名: | |
性别: | 男 女 |
年龄: | |
班级: | |
电话: | |
3、表单是提交到action.php文档中进行处理的,我们再创建一个action.php文件。
4、在add.php文档的表单中,提交到action.php文档时,还传递了一个参数action=add,我们就可以利用传递的参数来对数据进行处理。
6、增加学生信息的PHP代码
1、在action.php中输入以下代码<?php
include('conn.php');
//连接数据库
switch ($_GET['action']) {
//判断传递的参数
case 'add':
//如果传递的参数是add,则执行下列语句
$name = $_POST['name'];
$sex = $_POST['sex'];
$age = $_POST['age'];
$class = $_POST['class'];
$mobile = $_POST['$mobile'];
//表单是post提交,将提交上来的数据存放到变量中
$sql = "INSERT INTO `myclass` (`name`, `sex`, `age`, `class`, `mobile`)
VALUES ('{$name}', '{$sex}', '{$age}', '{$class}', '{$mobile}')";
//SQL的写入数据语句
$smt = $pdo->exec($sql);
//PDO对象执行一次sql语句
if ($smt > 0) {
//如果PDO对象中的数据有变化,则弹出窗口,并跳转到index.php页面,否则就返回到提交页。
echo "";
} else {
echo "";
}
break;
2、在主页进行【增加学生】的操作,如果成功,则会跳到主页,显示最新的学生名单。
}