1.查询
把昨天的作业(查询一张数据表,以表格的形式显示)作为一个例子
思路就是连接数据库,然后读取SQL语句并且根据条件遍历输出
<body>
<table border="1px" cellpadding="0px" cellspacing="0px" width="100%"> //外层表结构
<tr align="center"> //自己写好表头(字段名)
<td>学号</td>
<td>姓名</td>
<td>性别</td>
<td>出生日期</td>
</tr>
<?php
$db = new MySQLi("localhost","root","","test"); // 连接数据库
$db->query("set names UTF8"); //设置字符编码
$sql = "select * from teacher"; //读取SQL语句
$result = $db->query($sql);
while($arr = $result->fetch_row()) //循环,抓取每行的数据,直到没有数据
{
echo "<tr align='center'> <td>{$arr[0]}</td> //输出数据表中的每个字段内容
<td>{$arr[1]}</td>
<td>{$arr[2]}</td>
<td>{$arr[3]}</td></tr>";
}
?>
</table>
</body>
2.数据删除操作
<body>
<h1>学生表查询</h1>
<table cellpadding="0px" cellspacing="0px" border="1px" align="center" width="100%">
<tr>
<td>学号</td>
<td>姓名</td>
<td>性别</td>
<td>生日</td>
<td>班级</td>
<td>操作</td>
</tr>
<?php
$db=new MySQLi("localhost","root","","test");
$sql="select * from student";
$result=$db->query($sql);
$attr=$result->fetch_all();
foreach($attr as $v)
{ echo "<tr>
<td>{$v[0]}</td>
<td>{$v[1]}</td>
<td>{$v[2]}</td>
<td>{$v[3]}</td>
<td>{$v[4]}</td> //和查询一样,这里多出来一个定义字段,作为删除功能键,定义为<a>超链接标签
<td><a href='dele.php?Sno={$v[0]}' onclick="return confirm('你确定删除吗')">删除</a></td> //同时给删除键一个点击事件,这样会先执行点击事件,后完成提交跳转,添加了一个确认事件,为了防止不经过用户确认而造成的误删现象。
</tr>";} //在提交删除操作时,同时提交了一个类get操作(地址栏显示)的数据主键值,使得提交时能辨识出需要删除的具体是哪个数据
?>
</table><br />
</body>
效果如下图
当点击删除时
接下来就是写后台删除的PHP页面
<?php
$r1=$_GET["Sno"]; //通过get方式获取到了删除页面传来的主键对应的值
$db=new MySQLi("localhost","root","","test"); //链接数据库
$sql="delete from student where Sno={$r1}"; //读取sql语句
if($db->query($sql)){
header("location:check.php"); //删除成功后跳转至原来的界面,1. header方法,此方法问题会出现在,如果不是跳转同级文件下的时候出错
echo "<script>window.location.href='check.php';</script>" //2.JS跳转方式
echo"<script>window.open('check.php','_self',)</script>" //3.JS跳转方式 3种方式都能成功跳转。
}
?>
3.添加数据(和前面的注册基本一致的做法)
第一步:增加一个添加的提交或超链接按钮
<a href="add.php"><input type="submit" name="add" value="添加学生"/></a>
第二步:写add添加的页面
<body>
<h1 align="center">学生信息添加</h1>
<div style=" background-color:#0CC" align="center">
<form action="tianjia.php" method="post">
<div>学号:<input type="text" name="Sno" /></div><br />
<div>姓名:<input type="text" name="Sname" /></div><br />
<div>男<input type="radio" name="Ssex" /> 女<input type="radio" name="Ssex"</div><br />
<div>生日:<input type="date" name="birthday"/></div><br />
<div>班级<input type="text" name="class" /></div><br />
<input type="submit" value="提交"/>
</form>
<div>
</body>
第三步:写出处理添加数据操作的php页面
<?php
$id=$_POST["Sno"];
$name=$_POST["Sname"];
$sex=$_POST["Ssex"];
$birthday=$_POST["birthday"];
$class=$_POST["class"];
$db=new MySQLi("localhost","root","","test");
$sql="insert into student values('{$id}','{$name}','{$sex}','{$birthday}','{$class}')";
if($db->query($sql)){
echo "学生{$name}信息添加成功";
//header("location:check.php");
echo"<script> window.open('check.php','_self','')</script>";
}
else{
echo "学生信息添加失败".$db_error;
}
?>
4.修改数据表
如果数据表中显示的内容和我们想要显示的结果不同,比如性别在数据表中储存的是0和1,但是我们想要显示的是男和女
还有就是连有外键的数据表,显示的内容中只是一个外键的字段名,我们就要进行修改
例如下面
<body>
<h1>显示info信息</h1>
<table width="100%" border="1" cellpadding="0" cellspacing="0">
<tr>
<td>代号</td>
<td>姓名</td>
<td>性别</td>
<td>民族</td>
<td>生日</td>
<td>操作</td>
</tr>
<?php
$db = new MySQLi("localhost","root","123","mydb");
$sql = "select * from info";
$result = $db->query($sql);
$arr = $result->fetch_all();
foreach($arr as $v)
{
//修改性别
$sex = $v[2]?"男":"女";
//修改民族
$sql1 = "select name from nation where code='{$v[3]}'"; //读取关联表的数据
$r1 = $db->query($sql1); //存入变量集中
$a1 = $r1->fetch_row(); //用数组储存抓取的数据
echo "<tr>
<td>{$v[0]}</td>
<td>{$v[1]}</td>
<td>{$sex}</td> //将修改后的直接存在变量里输出显示
<td>{$a1[0]}</td> //直接替换成关联表中的数据
<td>{$v[4]}</td>
<td><a href='del.php?code={$v[0]}' onclick="return confirm('确认删除么?')">删除</a></td>
</tr>";
}
?>
</table>
</body>