• 数据访问 之 修改数据 (重要)---2017-04-27


    1、修改数据:

    需要两张数据库表:zhuce 和 naitonality

    需要写三个代码文件:main.php;   update.php;  xiugai.php  (其中前两个是用户可见的)

    2、主要分为以下四个步骤:

    第一步:写 main.php文件实现以下效果

    代码如下:

    <body>
    <h1>对表的信息进行操作</h1>
    <table width="50%" border ="1px" cellpadding="0px" cellspacing="0px">
    <tr>
    <td>code</td>
    <td>name</td>
    <td>pwd</td>
    <td>sex</td>
    <td>birthday</td>
    <td>nationality</td>
    <td>delete</td>
    </tr>
    
    <?php
    $db = new MySQLi("localhost","root","123","hw_0408");
    $sql = "select * from zhuce";
    $result = $db->query($sql);
    $arr = $result->fetch_all();
    foreach($arr as $v)
    {   
        $sex = $v[3]?"男":"女";
       
           //第一种获取民族
            //$sql1 = "select nationality from nationality where mzcode='{$v[5]}'";
            
        //第二种获取民族
          $sql1 = "select nationality from zhuce left join nationality on nationality.mzcode='{$v[5]}'";
            $r1 = $db->query($sql1);
            $a1 = $r1->fetch_row();
        //var_dump($a1);
        
        echo "<tr>
        <td>{$v[0]}</td>
        <td>{$v[1]}</td>
        <td>{$v[2]}</td>
        <td>{$sex}</td>
        <td>{$v[4]}</td>
        <td>{$a1[0]}</td>
        <td><a href = 'del.php?code={$v[0]}' onclick="return confirm('确认删除吗?')">delete</a>
        <a href = 'update.php?code={$v[0]}'>update</a>
        </td>
        </tr>";
        
        }
    ?>
    </table>
    </body>

    第二步:点击修改code=3的信息,跳转到update.php页面

    实现效果:有默认值,且默认值为code=3的信息

    <body>
    
    <?php
    $code = $_GET["code"];
    $db = new MySQLi("localhost","root","123","hw_0408");
    $sql = "select * from zhuce where code='{$code}'";
    $result = $db->query($sql);
    $arr = $result->fetch_row();
    ?>
    <h1>数据修改</h1>
    <form method="post" action="xiugai.php" >
    <div>代码:<input  type="text"  value="<?php echo $arr[0]; ?>"/> </div>
    <div>姓名:<input  type="text"  value="<?php echo $arr[1]; ?>"/> </div>
    <div>密码:<input  type="text"  value="<?php echo $arr[2]; ?>" /> </div>
    <div>性别:<input  type="text"  value="<?php echo $arr[3]; ?>"/> </div>
    <div>生日:<input  type="text"  value="<?php echo $arr[4]; ?>" /> </div>
    <div>民族:<input  type="text" value="<?php echo $arr[5]; ?>"/> </div>
    <input type="submit" value="修改"/>
    </form>
    </body>

    第三步:修改细节!!!!

    (1)代码为主键,不应该被用户修改;所以用hidden属性将它隐藏

    (2)性别不应让用户输入“男”“女”;-----用单选框

    要注意:根据code设定默认值

    (3)民族不应该让用户输入代码--------用下拉列表

    (4)第二步的代码中input没有name值,会导致xiugai.php文件读取不到数据!!!!!!!!

    要注意:根据code设定默认值

    效果图:(code=2)

    <body>
    
    <?php
    $code = $_GET["code"];
    $db = new MySQLi("localhost","root","123","hw_0408");
    $sql = "select * from zhuce where code='{$code}'";
    $result = $db->query($sql);
    $arr = $result->fetch_row();
    ?>
    <h1>数据修改</h1>
    <form action="xiugai.php" method="post">
    
    //隐藏code
    <div><input  type="hidden"  name="code"  value="<?php echo $arr[0]; ?>"/> </div>
    <div>姓名:<input  type="text" name="name"   value="<?php echo $arr[1]; ?>"/> </div>
    <div>密码:<input  type="text" name="pwd"  value="<?php echo $arr[2]; ?>" /> </div>
    
    //细节二
    
    <div>性别:
    男:<input type="radio" name="sex"  value="1"  <?php echo $arr[3]?"checked='checked'":"";?>  />
    女:<input type="radio" name="sex"  value="0"  <?php echo $arr[3]?"":"checked='checked'";?> />
    
    </div>
    
    <div>生日:<input  type="text" name="birthday"   value="<?php echo $arr[4]; ?>" /> </div>
    
    
    //细节三
    <div>民族:
    <select name="nationality">
    <?php
    $sql2  = "select * from nationality";
    $r2 = $db->query($sql2);
    $arr2 = $r2->fetch_all();
    foreach($arr2 as $v)
    {
        if ($arr[5]==$v[0])    //$arr[3]:该人员的mzcode   $v[0]:即将造的option的mzcode  
        {
            echo "<option value='{$v[0]}' selected='selected'> {$v[1]}</option>";
            }
        else
        {
            echo "<option value='{$v[0]}'> {$v[1]}</option>";
            }
        }
    
    ?>
    
    </select>
    
    </div>
    
    <input type="submit" value="修改"/>
    </form>
    </body>

    第四步:写修改页面  xiugai.php

         左 改 右       

    代码如下:

    <?php
    header("content-type:text/html;charset=utf-8");  //输出中文
    //取修改后的数据
    $code = $_POST["code"];
    $name = $_POST["name"];
    $pwd = $_POST["pwd"];
    $sex = $_POST["sex"];
    $birthday = $_POST["birthday"];
    $naitonality = $_POST["nationality"];
    
    //将修改后的数据写入数据库,覆盖原来的数据
    
    $db = new MySQLi("localhost","root","123","hw_0408");
    $sql = "update zhuce set name='{$name}', pwd='{$pwd}',sex = {$sex},birthday = '{$birthday}',mzcode='{$naitonality}' where code = '{$code}'";
    if ($db->query($sql))
    {
        header("location:main.php");
        }
    else
    {
        echo "修改失败!";
        }
    ?>
  • 相关阅读:
    OI无关 透彻随笔
    置顶帖(传送门)/to 学弟 一个菜鸡的故事
    洛谷P1494 小Z的袜子 莫队
    关于 对拍 的一些认识
    关于 带权二分/wqs二分 的一些认识
    关于 KDtree 的一些认识
    关于 网络流 的一些认识
    省选 考前模板
    关于 多项式 的一些认识/多项式入门
    小球与盒子 的奇妙关系
  • 原文地址:https://www.cnblogs.com/chenguanai/p/6774088.html
Copyright © 2020-2023  润新知