• 10.30 开课一个月零二十六天 (PHP数据库修改)


    1.先做一个修改页面

    复制代码
    <body>
    <!--这个页面需要让用户看到一些数据,所以不是一个纯php页面,页面效果和增加页面的效果非常相似,直接把增加页面的代码复制过来-->
    复制代码
    <?php //先嵌入php代码查询数据库
    $code = $_GET["c"];//取到点击修改时传过来的c的值
    $db = new MySQLi("localhost","root","666","text1");//直接把下面的造连接对象拿到上面,一个页面造一个就可以。
    //写sql语句,下面有$sql了,这里就写$info。
    $sinfo = "select * from info where code='{$code}'";//根据主键值查的,只能查到一条数据。
    $rinfo = $db->query($sinfo);
    $ainfo = $rinfo->fetch_row();//取到数组
    
    ?>
    复制代码
    <form action="xiugaichuli.php" method="post"><!--表单提交到xiugaichuli.php页面。-->
        <div><input   type="hidden" name="code" value="<?php echo $ainfo[0]; ?>" /></div><!--代号的默认的value的值显示为要更改的那条数据的代号的值,要输出才可以,不输出就为空。主键一般是不允许修改的,可以给它加上属性readonly="readonly"。不能用disabled=disabled,因为设定这个属性后表单无法提交。如果主键值是自增长列或者其它没有意义的列,可以直接隐藏,直接type=hidden,虽然隐藏掉了,但是还可以提交-->
        <div>姓名:<input type="text" name="name" value="<?php echo $ainfo[1]; ?>" /></div><!--原理同代号-->
        <!--性别和民族无法直接给定值,需要根据值来选定哪一个-->
        
        
        <!--性别是波尔型数据,要么0要么1.php里面的代码的作用是取出$info里面的代码,判断性别是true还是flase,是true的话就输出属性checked="checked",是flase就输出空-->
        <div>性别:
            <input type="radio" name="sex" value="1" <?php echo $ainfo[2]?"checked = 'checked'":"" ?> />男
            &nbsp;<input type="radio" name="sex" value="0" <?php echo $ainfo[2]?"":"checked = 'checked'" ?> />女
        </div>
        
        
        <!--民族是下拉列表,下拉列表选中是用属性selected=selected,下拉选项是用foreach遍历出来的,在输出之前可以判断要修改的人的代号是不是等于要输出的这一项的代号-->
        <div>民族:
            <select name="nation">
    复制代码
    <?php
                //造连接对象
                
                $sql = "select * from nation";
                $result = $db->query($sql);
                $attr = $result->fetch_all();
                
                foreach($attr as $v)//判断要修改的人的代号是不是等于要输出的这一项的代号
                {
                    if($v[0]==$ainfo[3])
                    {
                        echo "<option selected='selected' value='$v[0]'>{$v[1]}</option>";//相等就输出一个selected='selected'的选项
                    }
                    else
                    {
                        echo "<option value='$v[0]'>{$v[1]}</option>";//不相等就输出一个正常的选项
                    }
                }
                ?>
    复制代码
            </select>
        </div>
        <div>生日:<input type="text" name="birthday" value="<?php echo $ainfo[4]; ?>" /></div><!--原理同代号-->
        
        <div><input type="submit" value="修改" /></div>
    
    </form>
    </body>
    复制代码

    2.xiugaichuli.php页面

    复制代码
    <?php
    $code = $_POST["code"];//取出提交的5个值
    $name = $_POST["name"];
    $sex = $_POST["sex"];
    $nation = $_POST["nation"];
    $birthday = $_POST["birthday"];
    //造连接对象
    $db = new MySQLi("localhost","root","666","text1");
    
    $sql = "update info set name='{$name}',sex={$sex},nation='{$nation}',birthday='{$birthday}' where code='{$code}'";//修改的时候无论修改了几个,全部都要修改成现在输入的。
    
    $db->query($sql);
    
    header("location:main.php");
    复制代码
  • 相关阅读:
    CVE-2010-3333
    CVE-2010-2883
    谷歌不兼容showModalDialog()方法出现对话窗口解决方法
    asp.net中邮箱发送
    在c#中access2003和access2007连接字符串
    MVC连接Sql Server数据库出现的小问题
    使用360浏览器访问字体逆时针旋转90度的问题
    bootstrap与360浏览器不兼容问题
    委托的使用方法
    某集网将我的信息给了谁?还是不良卖家不想卖东西
  • 原文地址:https://www.cnblogs.com/l5580/p/6054019.html
Copyright © 2020-2023  润新知