php实现数据库的增删改查


Posted in PHP onFebruary 26, 2017

1.查询:

数据的显示,这里就可以嵌入php来进行数据的输出

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>无标题文档</title>
</head>

<body>
<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","12345678","heiheihei");
//连接数据库
$sql = "select * from student ";
//写sql语句
$r = $db->query($sql);
//执行sql语句返回给r
if($r)//条件
{
  while ($attr = $r->fetch_row())
  {
    $ssex = "";
     if($attr[2])
     {
       $ssex = "男";
     }
     else
       {
         $ssex = "女";
       }
    echo
    "
 <tr>
    <td>{$attr[0]}</td>
    <td>{$attr[1]}</td>
    <td>{$ssex}</td>
    <td>{$attr[3]}</td>
    <td>{$attr[4]}</td>
//添加一个单击事件,防止不小心删掉
<td><a onclick=\"return confirm('确定要删除吗???')" 
href='shanchu.php?sno={$attr[0]}'>删除</a>
 <a href='xiugai.php?sno={$attr[0]}'>修改</a> </td> </tr>"; } } ?>

 
 

</table>
<a href="tianjia.php" rel="external nofollow" >添加页面</a>
</body>

</html>

2.删除的处理页面

删除时是链接到删除处理页面的,所以还要写一个删除处理页面:

<?php
$aaa = $_GET ["sno"]; //删除方式使用的get,照旧
$db = new mysqli("localhost","root","12345678","heiheihei");
//连接...
$sql = "delete from student WHERE sno='{$aaa}'";
//写sql语句,sno主键
if($db->query($sql)) //执行sql语句
{
  header("location:text.php");
//删完回去表页面
}
else{
  echo "删除失败";
}
?>

来张效果图:

php实现数据库的增删改查

3.添加数据:

点击php实现数据库的增删改查即可进入添加页面

添加页面:

<body>

<h1>添加</h1>
<form action="add.php" method="post" >
  <div>代号:<input type="text" name="sno"/></div>
  <div>名字:<input type="text" name="sname"/></div>
  <div>性别: <input type="radio" value="1" name="sex" />男
    <input type="radio" value="0" name="sex"/>女</div>
  <div>日期:<input type="text" name="sbirthday"/></div>
//创建表时性别是用的1或2来表示的,要是进行修改不知道1或2代表了什么,所以就要进行处理,处理成用户能够明白的男和女

  <div>班级:
  <select name="class">

  <?php
    $db= new MYSQLi("localhost","root","12345678","heiheihei");
//连接...
    $sql = " select * from class ";
//写sql...    

    $r = $db->query($sql);
//执行...返回...
    while($arr = $r->fetch_row())
    {
      echo "<option value='{$arr[0]}'>{$arr[1]}</option>";
      //添上以后回表页面
    }
    ?>

 
  </select>
  </div>
  <div><input type="submit" value="添加"/></div>
</form>

</body>

添加也需要一个处理页面来判断添加:

<?php
$sno = $_POST["sno"];
//$_POST 变量用于收集来自 method="post" 的表单中的值。
$sname = $_POST["sname"];
$ssex = $_POST["ssex"];
$sbirthday = $_POST["sbirthday"];
$class = $_POST["class"];
$db = new mysqli("localhost","root","12345678","heiheihei");
$sql = "insert into student VALUES ('{$sno}','{$sname}','{$ssex}','{$sbirthday}','{$class}')";
//向数据库中添加写的数据
  if($db->query($sql))
{
  header("location:text.php");
  //header() 函数向客户端发送原始的 HTTP 报头。
}
else {
  echo "添加失败";
}


?>

效果图:

php实现数据库的增删改查

4.修改数据:主键不可修改!!

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>无标题文档</title>
</head>

<body>

<h1>修改</h1>

<?php
$sno = $_GET{"sno"};
$db = new mysqli("localhost","root","12345678","heiheihei");
$sql = "select * from student WHERE sno='{$sno}'";
$r = $db->query($sql);
$arr = $r->fetch_row();
?>

 
<form action="update.php" method="post">
  <div>代号:<input readonly="readonly" type="text" name="sno" value="<?php
echo $arr[0];
?>"/></div>

//readonly只可读
 <div>名称:<input type="text" name="sname" value="<?php echo $arr[1]; ?>"/></div> <div>性别: <input type="radio" name="ssex" value="1" <?php echo $arr[2]?"checked='checked'":""; ?>/>男 <!-- 三元运算符,如果性别=ture,默认值就在男上面,否则空--> <input type="radio" name="ssex" value="0" <?php echo $arr[2]?"":"checked='checked'"; ?>/>女 </div> <div>日期:<input type="text" name="sbirthday" value="<?php echo $arr[3]; ?>"/></div> <div>班级:<select name="class">
//value取默认值
 

 <?php
      $sclass = "select * from class";
      $rclass = $db->query($sclass);
      while($attr = $rclass->fetch_row())
      //取到的班级信息
      {
        //判断将要输出的班级是不是和该人员的是否相同
        if($arr[4]==$attr[0])//arr是班级名,attr是班级的代号,俩表
        {
          echo "<option value = '{$attr[0]}' selected='selected'>{$attr[1]}</option>";

        }
        else{
          echo "<option value = '{$attr[0]}'>{$attr[1]}</option>";
        }

      }
      ?>

 
    </select></div>
  <div><input type="submit" value="修改完毕"/></div>

</form>


</body>
</html>

]

修改的处理页面:

<?php
$sno = $_POST["sno"];
$sname = $_POST["sname"];
$ssex = $_POST["ssex"];
$sbirthday = $_POST["sbirthday"];
$class = $_POST["class"];
$db = new mysqli("localhost","root","12345678","heiheihei");
$sql = "update student set sname='{$sname}',
ssex='{$ssex}',
sbirthday='{$sbirthday}',
class='{$class}' WHERE sno='{$sno}'";
//看一下是不是传递过来的sno值;
if($db->query($sql))
{
  header("location:text.php");
}
else{
  echo "修改失败";
}



?>

修改的效果图:

php实现数据库的增删改查

PHP 相关文章推荐
Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
May 03 PHP
三个类概括PHP的五种设计模式
Sep 05 PHP
PHP flock 文件锁详细介绍
Dec 29 PHP
简单的php新闻发布系统教程
May 09 PHP
php中Session的生成机制、回收机制和存储机制探究
Aug 19 PHP
thinkphp连贯操作实例分析
Nov 22 PHP
Dwz与thinkphp整合下的数据导出到Excel实例
Dec 04 PHP
百度工程师讲PHP函数的实现原理及性能分析(一)
May 13 PHP
PHP简单实现断点续传下载的方法
Sep 25 PHP
PHP实现接收二进制流转换成图片的方法
Jan 10 PHP
PHP有序表查找之插值查找算法示例
Feb 10 PHP
php代码调试利器firephp安装与使用方法分析
Aug 21 PHP
php查询及多条件查询
Feb 26 #PHP
php批量删除操作代码分享
Feb 26 #PHP
浅谈PHP的反射API
Feb 26 #PHP
CentOS 上搭建 PHP7 开发测试环境
Feb 26 #PHP
php封装的验证码类分享
Feb 26 #PHP
解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory
Feb 25 #PHP
简单谈谈PHP中的trait
Feb 25 #PHP
You might like
PHP采用超长(超大)数字运算防止数字以科学计数法显示的方法
2016/04/01 PHP
PHP开发中解决并发问题的几种实现方法分析
2017/11/13 PHP
PHP实现在对象之外访问其私有属性private及保护属性protected的方法
2017/11/20 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
用window.location.href实现刷新另个框架页面
2007/03/07 Javascript
ajaxControlToolkit AutoCompleteExtender的用法
2008/10/30 Javascript
form.submit()不能提交表单的错误原因及解决方法
2014/10/13 Javascript
js实现网页多级级联菜单代码
2015/08/20 Javascript
基于JS实现移动端访问PC端页面时跳转到对应的移动端网页
2020/12/24 Javascript
JS中artdialog弹出框控件之提交表单思路详解
2016/04/18 Javascript
Angular2表单自定义验证器的实现
2016/10/19 Javascript
JavaScript省市级联下拉菜单实例
2017/02/14 Javascript
vue省市区三联动下拉选择组件的实现
2017/04/28 Javascript
详细分析单线程JS执行问题
2017/11/22 Javascript
基于zTree树形菜单的使用实例
2017/12/25 Javascript
深入理解ES6中let和闭包
2018/02/22 Javascript
Vue如何实现响应式系统
2018/07/11 Javascript
vue通过cookie获取用户登录信息的思路详解
2018/10/30 Javascript
Nuxt.js开启SSR渲染的教程详解
2018/11/30 Javascript
三步实现ionic3点击退出app程序
2019/09/17 Javascript
微信小程序使用echarts获取数据并生成折线图
2019/10/16 Javascript
浅谈vue 多个变量同时赋相同值互相影响
2020/08/05 Javascript
[05:02]2014DOTA2 TI中国区预选赛精彩TOPPLAY第三弹
2014/06/25 DOTA
Python Socket传输文件示例
2017/01/16 Python
Python实现自动上京东抢手机
2018/02/06 Python
教你使用python画一朵花送女朋友
2018/03/29 Python
Python中新式类与经典类的区别详析
2019/07/10 Python
python多进程下实现日志记录按时间分割
2019/07/22 Python
python2和python3应该学哪个(python3.6与python3.7的选择)
2019/10/01 Python
Bjorn Borg官方网上商店:国际运动时尚品牌
2016/08/27 全球购物
达拉斯牛仔官方商店:Dallas Cowboys Pro Shop
2018/02/10 全球购物
公司授权委托书
2014/10/17 职场文书
写给医生的感谢信
2015/01/22 职场文书
继承公证书格式
2015/01/26 职场文书
小学语文课《掌声》教学反思
2016/03/03 职场文书
为Java项目添加Redis缓存的方法
2021/05/18 Redis