zoukankan      html  css  js  c++  java
  • php的修改

    修改数据:

    (1)如果不是有外键的表,那么修改就正常的进行修改页面和修改处理页面就可以,但是有了外键的表,在进行遍历时就要写相应的条件了。

    例如,有张表中有性别,但是进行创建表时是用的0或1来表示的,用户要是进行修改时也不知道0或1代表了什么,所以这里就要进行处理,处理成用户能够明白的数据

    1 foreach($arr as $v)
    2     {
    3         //修改性别
    4         $sex = $v[4]? "":"";//如果返回true性别就是男,如果返回false性别就是女。
    5         echo "{$sex}"//再输出中的索引号是4的,就要修改成定义的sex了

    (2)民族因为是外键,这样的显示用户也是不明白的,所以除了要处理性别,还要处理民族

     1 <?php
     2     $db = new MySQLi("localhost","root","123","test3");
     3                 
     4     $sql = "select * from info";
     5                 
     6     $result = $db->query($sql);
     7     while($attr = $result->fetch_row())
     8    {
     9                 
    10        $nation = $attr[3];
    11        $sqln = "select name from nation where code='{$nation}'";    //进行sql语句查询民族表中的代号和民族一样的名称
    12        $rn = $db->query($sqln);      //执行sql语句
    13            $an = $rn->fetch_row();      
    14                 
    15        echo "{$a1[0]}"  //{$a1[0]}解析的这个就是遍历的民族名称
    16 ?>

    (3)进行修改页面,因为是修改,肯定会有默认值在上面:嵌入php语言,正常的修改页面,让表中的代号和定义的代号名相等

     1 $id=$_GET["id"];
     2 
     3 $db=new MySQLi("localhost","root","123456","text_0408");
     4 $sql="select * from zhuce where id='{$id}'"; 
     5 $result=$db->query($sql);
     6 $arr=$result->fetch_row();
     7 ?>
     8 <h1>修改</h1>
     9 <form action="xiugai.php" method="post">
    10 <div><input type="hidden" name="id" value="<?php echo $arr[0]; ?>" /></div>
    11 <div>用户名:<input type="text" name="yonghuming" value="<?php echo $arr[1]; ?>" /></div>
    12 <div>密码:<input type="text" name="pwd" value="<?php echo $arr[2]; ?>" /></div>
    13 <div>姓名:<input type="text" name="name" value="<?php echo $arr[3]; ?>" /></div>
    14 <div>性别:
    15 男<input type="radio" name="sex" value="1" <?php echo $arr[4]? "checked='checked'":"" ?> />
    16 女<input type="radio" name="sex" value="0" <?php echo $arr[4]? "":"checked='checked'" ?> />
    17 </div>
    18 <div>
    19 民族:
    20 <select name="nation">
    21 <?php
    22 $sqln = "select * from nation";
    23 $resultn = $db->query($sqln);
    24 $arrn = $resultn->fetch_all();
    25 foreach($arrn as $v)
    26 {
    27     $arr[5]; //该人员的民族代号
    28     $v[0]; //即将造的option的民族代号
    29     if($arr[5]==$v[0])
    30     {
    31         echo "<option selected='selected' value='{$v[0]}'>{$v[1]}</option>";
    32     }
    33     else
    34     {
    35         
    36         
    37         
    38         echo "<option value='{$v[0]}'>{$v[1]}</option>";
    39     }
    40 }
    41 ?>
    42 </select>
    43 </div>
    44 <input type="submit" value="修改" />
    45 </form>

    你修改哪一项都有一个那个项的默认值。修改后他就会变成你修改的那个

    原来她是女的现在改了以后变成男的了。

    因为民族不止一个,可以显示所有的民族,让用户自己选择进行修改,这样就可以做个下拉菜单

     1 民族:
     2 <select name="nation">
     3 <?php
     4 $sqln = "select * from nation";
     5 $resultn = $db->query($sqln);
     6 $arrn = $resultn->fetch_all();
     7 foreach($arrn as $v)
     8 {
     9     $arr[5]; //该人员的民族代号
    10     $v[0]; //即将造的option的民族代号
    11     if($arr[5]==$v[0])
    12     {
    13         echo "<option selected='selected' value='{$v[0]}'>{$v[1]}</option>";
    14     }
    15     else
    16     {
    17         
    18         
    19         
    20         echo "<option value='{$v[0]}'>{$v[1]}</option>";
    21     }
    22 }
    23 ?>
    24 </select>

    我随便写的民族不要计较。主要是看效果就好。

    (4)最后就是修改处理的页面了,这个页面sql的语句就是修改语句了,然后返回到主页面就可以了

     1 <?php
     2 $id=$_POST["id"];
     3 $yonghuming=$_POST["yonghuming"];
     4 $pwd=$_POST["pwd"];
     5 $name=$_POST["name"];
     6 $sex=$_POST["sex"];
     7 $biaohao=$_POST["nation"];
     8 
     9 
    10 
    11 
    12 $db=new MySQLi("localhost","root","123456","text_0408");
    13 $sql="update zhuce set yonghuming='{$yonghuming}', pwd='{$pwd}',name='{$name}',sex={$sex},biaohao='{$biaohao}' where id='{$id}'";
    14 if($db->query($sql))
    15 {
    16     header("location:main.php")    ;//返回表页面。
    17 }else{
    18     
    19         echo "修改失败";
    20     }
    21     
    22 
    23 
    24 
    25 
    26 ?>
  • 相关阅读:
    gitlab安装笔记二_Centos7配置163yum源
    gitlab安装笔记一_虚拟机中安装Centos7
    初篇:我与Linux
    Redis分布式锁正确的实现方法
    MacOS从零开始搭建hexo博客
    docker服务编排--docker-compose
    多线程问题整理
    maven依赖范围
    linux打开文件数 too many open files 解决办法
    【数据结构】队列-数组模拟队列
  • 原文地址:https://www.cnblogs.com/douchenchen/p/6774879.html
Copyright © 2011-2022 走看看