zoukankan      html  css  js  c++  java
  • PHP数据访问的增删改查

    在页面中用PHP方式对数据实现增删改查,一共6个页面来实现这个功能,

    1.查询页面:

    <!--这是查询页面0114-1.php,用来查询数据库中的数据,数据会以表格的形式显示在页面中,用户可以在这个页面执行添加、修改、删除数据的操作-->
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>无标题文档</title>
    <!--引入bootstrap文件-->
    <link href="css/bootstrap.min.css" rel="stylesheet" type="text/css">
    <script src="js/jquery-1.11.3.min.js"></script>
    <script src="js/bootstrap.min.js"></script>
    </head>
    
    <body>
    <!--创建一个表格-->
    <table class="table table-striped">
      <caption>人员信息</caption>
      <thead>
        <tr>
          <th >编号</th>
          <th >姓名</th>
          <th >性别</th>
          <th >生日</th>
          <th >班级</th>
        </tr>
      </thead>
      <tbody>
      <!--用PHP读取数据库数据并输出到网页-->
       <?php
            $db = new MySQLi("localhost","root","","xuexiao");    //创建一个连接对象
               mysqli_connect_error()?die("连接错误!"):"";    //判断连接是否成功
            $sql = "select sno,sname,ssex,date(sbirthday),class from student";//创建一个sql语句
            $result = $db->query($sql);//执行sql语句并且接收结果和对象
            if($result){    //判断是否执行成功
                $arr = $result->fetch_all();//读取查询结果,fetch_all()会读取全部内容
                foreach($arr as $v){    //foreach遍历并输出数据
                echo " <tr>
                          <td>{$v[0]}</td>
                          <td>{$v[1]}</td>
                          <td>{$v[2]}</td>
                          <td>{$v[3]}</td>
                          <td>{$v[4]}</td>           
                          <td><a href='./delete.php?sno={$v[0]}' onclick="return confirm('确认删除吗')"><button type='button' class='btn btn-primary' >删除</button></a></td>
                          <td><a href='./xiugai.php?sno={$v[0]}'><button type='button' class='btn btn-primary'>修改</button></a></td>
                        </tr>";        //用超链接添加修改和删除选项,超链接地址指向下一步的操作页面xiugai.php和delete.php,超链接用get方式把要操作的那条数据的主键值传给下一步的操作页面
                }
            }
        ?>
      </tbody>
    </table>
    <!--用超链接添加添加选项,超链接地址指向下一步的操作页面tianjia.php-->
    <a href="tianjia.php">添加人员信息</a>
    
    </body>
    </html>

    2.添加页面:

    <!--这是tianjia.php页面,是查询页面0114-1.php点击添加选项跳转过来的页面,用于添加数据,以表单形式让用户输入数据,点击提交后存入数据库,但是还需要把数据提交给下一个页面add.php处理数据-->
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>无标题文档</title>
    <!--引入bootstrap文件-->
    <link href="css/bootstrap.min.css" rel="stylesheet" type="text/css">
    <script src="js/jquery-1.11.3.min.js"></script>
    <script src="js/bootstrap.min.js"></script>
    
    </head>
    
    <body>
    <h1>添加信息</h1>
    <div class="panel panel-default" style="500px">
        <div class="panel-body">
            <!--form里指定好提交时接收提交的数据的文件,该文件会做下一步的数据处理,数据的提交方式选用post保密提交以保护数据隐私-->
            <form action="add.php" method="post">
                <div class="input-group">
                    <span class="input-group-addon">编号</span>
                    <!--要指定好name值以便提交-->
                    <input type="text" class="form-control" placeholder="请输入编号" name="sno">
                </div>
                <br/>
                <div class="input-group">
                    <span class="input-group-addon">姓名</span>
                    <!--要指定好name值以便提交-->
                    <input type="text" class="form-control" placeholder="请输入姓名" name="sname">
                </div>
                <br/>
                <div class="input-group">
                    <span class="input-group-addon">性别</span>&nbsp;&nbsp;
                    <!--性别用单选框选择,指定好name值-->
                    <label for="sex1">&nbsp;</label><input type="radio" name="ssex" id="sex1" value="男" checked/>&nbsp;&nbsp;
                    <label for="sex2">&nbsp;</label><input type="radio" name="ssex" id="sex2" value="女" />
                </div>
                <br/>
                <div class="input-group">
                    <span class="input-group-addon">生日</span>
                    <!--要指定好name值以便提交-->
                    <input type="text" class="form-control" placeholder="请输入生日" name="sbirthday">
                </div>
                 <br/>
                <div class="input-group">
                    <span class="input-group-addon">班级</span>
                    <!--要指定好name值以便提交-->
                    <input type="text" class="form-control" placeholder="请输入班级" name="class">
                </div>
                <br/>
                <!--提交按钮执行添加,会把数据提交给form指向的下一个处理页面-->
                <input class="btn btn-default" type="submit" value="添加" >        
            </form>
        </div>
    </div>
    
    
    </body>
    </html>

    3.处理数据添加的页面

    <?php
    //这是add.php页面,是tianjia.php提交后用来处理数据的页面
        $arr = $_POST;    //接收传过来的数据,以post方式提交就用全局变量$_POST接收,接收到以个数据的关联数组,之前的页面里的name就是关联的索引
        //var_dump($arr);
        $sno = $arr["sno"];    //分别取出每一个数据
        $sname = $arr["sname"];
        $ssex = $arr["ssex"];
        $sbirthday = $arr["sbirthday"];
        $class = $arr["class"];
        
        $db = new MySQLi("localhost","root","","xuexiao");//创建一个连接对象
        mysqli_connect_error()?die("连接错误"):"";//判断连接是否成功
        $sql = "insert into student values('$sno','$sname','$ssex','$sbirthday','$class')";//创建一个sql语句
        $result = $db->query($sql);//执行sql语句并接收结果和对象
        if($result){//判断执行是否成功
            echo "<script type='text/javascript'>
                window.location.href='tianjia.php';
            </script>";//执行成功就跳转回添加页面,通过输出js代码实现
        }else{
            echo "添加失败!";    //执行失败,输出提示
        }

     

    4.处理删除数据的页面

    <?php 
    //这是delete.php页面,是查询页面0114-1.php点击删除后跳转过来用来处理数据的页面
        $sno = $_GET["sno"];//删除选项用超链接的get方式传值,这里用$_GET接收数据,虽然只有一个数据但是这还是一个关联数组
        //echo $sno;
        $db = new MySQLi("localhost","root","","xuexiao");//建立连接对象
        mysqli_connect_error()?die("连接失败!"):"";//判断连接是否成功
        $sql = "delete from student where sno={$sno}";//创建一个sql语句
        $result = $db->query($sql);//执行sql语句并接收结果和对象
        if($result){    //判断是否执行成功
            echo "<script type='text/javascript'>
                window.location.href='0114-1.php';
            </script>";    //执行成功,输出js代码以返回到查询页面
        }else{
            echo "删除失败!";    //执行失败,输出提示
        }

    5.在查询页面点击修改后弹出的修改页面

    <!--这是xiugai.php页面,是查询页面0114-1.php点击修改后跳转过来的页面,页面会把要修改的那条数据的值默认输出在页面中,点击修改后会修改数据,但是还需要提交到下一个页面update.php中处理数据-->
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>无标题文档</title>
    <!--引入bootstrap文件-->
    <link href="css/bootstrap.min.css" rel="stylesheet" type="text/css">
    <script src="js/jquery-1.11.3.min.js"></script>
    <script src="js/bootstrap.min.js"></script>
    </head>
    
    <body>
    <?php 
        $sno = $_GET["sno"];    //修改选项是用超链接的get方式传值,所以用$_GET接收数据,注意虽然只有一个数据,但是这还是以个关联数组
        $db = new MySQLi("localhost","root","","xuexiao");    //建立一个连接对象
        mysqli_connect_error()?die("连接错误!"):"";    //判断连接是否成功
        $sql = "select sno,sname,ssex,date(sbirthday),class from student where sno='{$sno}'";//创建一个sql语句
        $result = $db->query($sql);        //执行sql语句并接收结果和对象
        $arr = $result->fetch_row();    //读取查询结果
    ?>
    <h1>修改信息</h1>
    <div class="panel panel-default" style="500px">
        <div class="panel-body">
            <!--form里指定好提交时接收提交的数据的文件,该文件会做下一步的数据处理,数据的提交方式选用post保密提交以保护数据隐私-->
            <form action="update.php" method="post">
                <div class="input-group">
                    <span class="input-group-addon">编号</span>
                    <!--把默认值即数据相对应的值写入表单中-->
                    <input type="text" class="form-control" placeholder="请输入编号" name="sno" readonly value="<?php echo $arr[0] ?>">
                </div>
                <br/>
                <div class="input-group">
                    <span class="input-group-addon">姓名</span>
                    <!--把默认值即数据相对应的值写入表单中-->
                    <input type="text" class="form-control" placeholder="请输入姓名" name="sname" value="<?php echo $arr[1] ?>">
                </div>
                <br/>
                <div class="input-group">
                    <span class="input-group-addon">性别</span>&nbsp;&nbsp;
                    <!--把默认值即数据相对应的值写入表单中,性别用三元运算判断男女并添加默认选中属性checked-->
                    <label for="sex1">&nbsp;</label><input type="radio" name="ssex" id="sex1" value="男" <?php echo $arr[2]="男"?"checked":""; ?>/>&nbsp;&nbsp;
                    <label for="sex2">&nbsp;</label><input type="radio" name="ssex" id="sex2" value="女" <?php echo $arr[2]="女"?"checked":""; ?> />
                </div>
                <br/>
                <div class="input-group">
                    <span class="input-group-addon">生日</span>
                    <!--把默认值即数据相对应的值写入表单中-->
                    <input type="text" class="form-control" placeholder="请输入生日" name="sbirthday" value="<?php echo $arr[3] ?>">
                </div>
                 <br/>
                <div class="input-group">
                    <span class="input-group-addon">班级</span>
                    <!--把默认值即数据相对应的值写入表单中-->
                    <input type="text" class="form-control" placeholder="请输入班级" name="class" value="<?php echo $arr[4] ?>">
                </div>
                <br/>
                <!--修改好了点击提交,数据会提交给form指定的下一个页面update.php-->
                <input class="btn btn-default" type="submit" value="修改" >
                
            </form>
        </div>
    </div>
    
    
    </body>
    </html>

    6.处理修改数据的页面

    <?php 
    //这是update.php页面,是xiugai.php提交后用来处理数据的页面
        $arr = $_POST;//接收传过来的数据,以post方式提交就用全局变量$_POST接收,接收到以个数据的关联数组,之前的页面里的name就是关联的索引
        //print_r($arr);
        $sno = $arr["sno"];    //分别取出每一个数据
        $sname = $arr["sname"];    
        $ssex = $arr["ssex"];
        $sbirthday = $arr["sbirthday"];
        $class = $arr["class"];
        
        $db = new MySQLi("localhost","root","","xuexiao");//创建一个连接对象
        mysqli_connect_error()?die("连接错误!"):"";//判断连接是否成功
        $sql = "update student set sname='{$sname}',ssex='{$ssex}',sbirthday='{$sbirthday}',class='{$class}' where sno={$sno}";//创建一个sql语句
        $result = $db->query($sql);//执行sql语句并接收结果和对象
        if($result){    //判断是否执行成功
            echo "<script type='text/javascript'>
                window.location.href = '0114-1.php'
            </script>";    //执行成功,输出js代码以跳转回查询页面
        }else{
            echo "修改失败!";    //执行失败,输出提示
        }
  • 相关阅读:
    运筹学——线性规划及单纯形法求解
    jQuery实现回到顶部功能
    JS与PHP传递JSON数据
    学习笔记Quartz定时器
    MYSQL常用命令总结
    DWZ框架与第三方jQuery插件整合
    jQuery中增加新元素后没法响应原有的事件
    java.lang.OutOfMemoryError: Java heap space解决方法
    Adobe Edge Animate1.0 使用元件创建嵌套动画
    Adobe Edge Animate 1.0 制作自定义动态菜单
  • 原文地址:https://www.cnblogs.com/zxbs12345/p/8287745.html
Copyright © 2011-2022 走看看