• 数据访问......增删改查


    以Info表为例:

    一、先建立主页面(main.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>Info表主页面</title>
    </head>
    
    <body>
    <h1>主页面</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");
    !mysqli_connect_error() or die("连接失败!");
    $sql = "select * from Info";
    $r= $db->query($sql);
    if($r)
    {
        $attr=$r->fetch_all();
        
        foreach($attr as $v)
        {
            //处理性别
            $sex=$v[2]?"男":"女";
            //处理民族名称
            $sqln="select Name from Nation where Code='{$v[3]}'";
            $rnation = $db->query($sqln);
            $attrn = $rnation->fetch_assoc();
            echo "<tr>
                    <td>{$v[0]}</td>
                    <td>{$v[1]}</td>
                    <td>{$sex}</td>
                    <td>{$attrn['Name']}</td>
                    <td>{$v[4]}</td>
                    <td>
                        <a href='Delete.php?Code={$v[0]}'>删除</a>     
                        <a href='Update.php?Code={$v[0]}'>修改</a>
                    </td>
                 </tr>";                                                  //超链接跳转到相应页面并用GET传值方式将Code值传过去
        }
    }
    ?></table>
    <div>
    <
    a href="Add.php">添加数据</a>
    </
    div>
    </body>
    </html> 

    二、添加数据

    1. 建立添加数据页面(Add.php)

    <title>添加数据</title>
    </head>
    <style type="text/css">
    .form{ width:100%; height:30px; line-height:30px;}
    </style>
    <body>
    <h1>添加数据</h1>
    <form action="AddChuLi.php" method="post">      <!--提交到添加处理页面-->
        <div class="form">代号: <input type="text" name="code" /></div>
        <div class="form">姓名: <input type="text" name="name" /></div>
        <div class="form">性别:    <!--性别为单选按钮 -->
             <input type="radio" value="男" name="sex" /><!--name设为相同,谁选中就提交谁 -->
             <input type="radio" value="女" name="sex" /></div>
        <div class="form">民族:    <!--民族为下拉列表 -->
                <select name="nation">
    <?php //下拉列表每一项是从数据库中查出来的,所以需要嵌入php代码访问数据库 $db=new MySQLi("localhost","root","123","mydb"); $sql="select * from Nation"; $r=$db->query($sql); $attr=$r->fetch_all(); foreach($attr as $v) { echo "<option value='{$v[0]}'>{$v[1]}</option>"; } ?>
                </select>
        </div>
        <div class="form">生日: <input type="text" name="birthday" /></div><br />
    
        <div class="form"> <input type="submit" value="添加数据" /></div>
    </form>
    <div class="form"><a href="main.php">主页面</a></div>
    
    </body>
    </html>

    2. 建立处理添加数据页面(AddChuLi.php)

       因为不用显示,所以为纯php页面

    <?php
    $code = $_POST["code"];    //用变量接收提交过来的值
    $name = $_POST["name"];
    $sex = $_POST["sex"];
    $s = 1;                    //判断性别,性别是布尔型,1代表true,0代表false
    if($sex=="女")
    {
        $s= 0;    
    }
    $nation = $_POST["nation"];
    $birthday = $_POST["birthday"];
    //将接收的数据添加到数据库
    $db = new MySQLi("localhost","root","123","mydb");
    !mysqli_connect_error() or die("连接失败!");
    $sql = "insert into Info values('{$code}','{$name}',{$s},'{$nation}','{$birthday}')";   //性别不能用引号,加引号是字符串,会当做true处理
    $result =$db->query($sql);    //返回true or false
    if($result)   //true     
    {
        header("location:Add.php");    //如果添加成功就跳转到Add.php,跳转用header("location:跳转到的页面");
    }
    else          //false
    {
        echo "添加失败!";    
    }

    三、删除数据

    建立删除数据页面(Delete.php)

    因为不用显示,所以为纯php页面

    在主页面点击删除通过超链接连接到删除数据页面并用GET方法将主键值Code传过去,然后根据主键值确定需要删除的数据

    <?php
    $code=$_GET["Code"];    //用变量接收主键值
    $db=new MySQLi("localhost","root","123","mydb");
    !mysqli_connect_error() or die("连接失败!");
    $sql= "delete from Info where Code='{$code}'";      //通过主键Code删除相应数据
    $r = $db->query($sql);
    if($r)
    {
        header("location:main.php");    
    }
    else
    {
        echo "删除失败!";    
    }

    四、修改数据

    1. 建立修改数据页面(Update.php)

    修改数据页面比较复杂,因为需要根据传过来的Code加载默认值

    在主页面点击修改通过超链接连接到修改数据页面并用GET方法将主键值Code传过去,然后根据主键值确定需要修改的数据,修改数据页面与添加数据页面样式布局一样,并且将需要修改的数据信息显示在页面上

    <title>修改数据</title>
    </head>
    <style type="text/css">
    .form{ width:100%; height:30px; line-height:30px;}
    </style>
    <body>
    <h1>修改数据</h1>
    <?php
    $code=$_GET["Code"];         //得到GET方式传来过的code值
    $db=new MySQLi("localhost","root","123","mydb");    //通过数据库查询code值所有的信息
    !mysqli_connect_error() or die("连接失败!");
    $sinfo="select * from Info where Code='{$code}'";     //根据主键值只能查询一条信息,取值可用fetch_row()
    $r=$db->query($sinfo);
    $arr=$r->fetch_row();    //返回一维索引数组
    ?>
    <!--一个页面可以嵌入多处php代码,不管HTML代码,只看php代码,相当于连接起来的,所以上面定义的变量下面可以找到-->
    <form action="UpdateChuLi.php" method="POST">
        <div><input type="hidden" name="code" value="<?php echo $arr[0] ?>" /></div>    <!--主键值不能修改,但是必须要有才能提交,所以设置隐藏,
    也可以设置只读
    --> <div class="form">姓名: <input type="text" name="name" value="<?php echo $arr[1] ?>" /></div> <!--通过设定value值来显示要修改的数据信息 --> <div class="form">性别: <input type="radio" value="男" name="sex" <?php echo $arr[2]?"checked='checked'":"" ?> />男 <!--若$arr[2]为tru则默认选中男 --> <input type="radio" value="女" name="sex" <?php echo $arr[2]?"":"checked='checked'" ?>/>女 <!--若$arr[2]为false则默认选中女 --> </div> <div class="form">民族: <select name="nation">
              <?php            
                $sql="select * from Nation";
                $r=$db->query($sql);
                $attr=$r->fetch_all();
                foreach($attr as $v)
                {
                    if($v[0]==$arr[3])     //若民族代号等于这个人的民族代号则输出默认选中
                    {
                        echo "<option selected='selected' value='{$v[0]}'>{$v[1]}</option>";    
                    }
                    else                  //否则输出普通的
                    {
                        echo "<option  value='{$v[0]}'>{$v[1]}</option>";
                    }
                }
              ?>
                </select>
        </div>
        <div class="form">生日 :<input type="text" name="birthday" value=" <?php echo $arr[4] ?> "/></div><br />
    
        <div class="form"> <input type="submit" value="修改数据" /></div>
    </form>
    <div><a href="main.php">主页面</a></div>
    
    
    </body>
    </html>

    2. 建立修改数据处理页面(UpdateChuLi.php)

    因为不用显示,所以为纯php页面

    <?php
    $code = $_POST["code"];
    $name = $_POST["name"];
    $sex = $_POST["sex"];
    $s = 1;
    if($sex=="女")
    {
        $s= 0;    
    }
    $nation = $_POST["nation"];
    $birthday = $_POST["birthday"];
    
    $db=new MySQLi("localhost","root","123","mydb");
    !mysqli_connect_error() or die("连接失败!");
    $sql="update Info set Name='{$name}',Sex={$s},Nation='{$nation}',Birthday='{$birthday}' where Code='{$code}'";  //SQL语句要写好
    $r=$db->query($sql);
    if($r)
    {
        header("location:main.php");    
    }
    else
    {
        echo "修改失败!";    
    }
  • 相关阅读:
    botzone Tetris2
    NOIP2017游记
    城乡联谊胡策会糊厕R3
    SRM 20
    AtCoder Regular Contest 082
    AtCoder Grand Contest 019
    复数模版
    SRM13
    NOI2017&&codeM2017游记
    java多线程编程
  • 原文地址:https://www.cnblogs.com/xinghun/p/5468031.html
Copyright © 2020-2023  润新知