php数据访问之查询 、删除 ,增添

1.查询php

把昨天的做业(查询一张数据表,以表格的形式显示)做为一个例子sql

思路就是链接数据库,而后读取SQL语句而且根据条件遍历输出数据库

<body>数组


<table border="1px" cellpadding="0px" cellspacing="0px" width="100%">    //外层表结构post

<tr align="center">                                                            //本身写好表头(字段名)
<td>学号</td>
<td>姓名</td>
<td>性别</td>
<td>出生日期</td>
</tr>fetch

<?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>spa

</body>3d

 

 2.数据删除操做code

<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>

相关文章
相关标签/搜索