修改数据:

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

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

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

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

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

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

 $id=$_GET["id"];

 $db=new MySQLi("localhost","root","","text_0408");
$sql="select * from zhuce where id='{$id}'";
$result=$db->query($sql);
$arr=$result->fetch_row();
?>
<h1>修改</h1>
<form action="xiugai.php" method="post">
<div><input type="hidden" name="id" value="<?php echo $arr[0]; ?>" /></div>
<div>用户名:<input type="text" name="yonghuming" value="<?php echo $arr[1]; ?>" /></div>
<div>密码:<input type="text" name="pwd" value="<?php echo $arr[2]; ?>" /></div>
<div>姓名:<input type="text" name="name" value="<?php echo $arr[3]; ?>" /></div>
<div>性别:
男<input type="radio" name="sex" value="" <?php echo $arr[]? "checked='checked'":"" ?> />
女<input type="radio" name="sex" value="" <?php echo $arr[]? "":"checked='checked'" ?> />
</div>
<div>
民族:
<select name="nation">
<?php
$sqln = "select * from nation";
$resultn = $db->query($sqln);
$arrn = $resultn->fetch_all();
foreach($arrn as $v)
{
$arr[]; //该人员的民族代号
$v[]; //即将造的option的民族代号
if($arr[]==$v[])
{
echo "<option selected='selected' value='{$v[0]}'>{$v[1]}</option>";
}
else
{ echo "<option value='{$v[0]}'>{$v[1]}</option>";
}
}
?>
</select>
</div>
<input type="submit" value="修改" />
</form>

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

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

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

 民族:
<select name="nation">
<?php
$sqln = "select * from nation";
$resultn = $db->query($sqln);
$arrn = $resultn->fetch_all();
foreach($arrn as $v)
{
$arr[]; //该人员的民族代号
$v[]; //即将造的option的民族代号
if($arr[]==$v[])
{
echo "<option selected='selected' value='{$v[0]}'>{$v[1]}</option>";
}
else
{ echo "<option value='{$v[0]}'>{$v[1]}</option>";
}
}
?>
</select>

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

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

 <?php
$id=$_POST["id"];
$yonghuming=$_POST["yonghuming"];
$pwd=$_POST["pwd"];
$name=$_POST["name"];
$sex=$_POST["sex"];
$biaohao=$_POST["nation"]; $db=new MySQLi("localhost","root","","text_0408");
$sql="update zhuce set yonghuming='{$yonghuming}', pwd='{$pwd}',name='{$name}',sex={$sex},biaohao='{$biaohao}' where id='{$id}'";
if($db->query($sql))
{
header("location:main.php") ;//返回表页面。
}else{ echo "修改失败";
} ?>

php的修改的更多相关文章

  1. 一步步开发自己的博客 .NET版(11、Web.config文件的读取和修改)

    Web.config的读取 对于Web.config的读取大家都很属性了.平时我们用得比较多的就是appSettings节点下配置.如: 我们对应的代码是: = ConfigurationManage ...

  2. 一次修改闭源 Entity Provider 程序集以兼容新 EntityFramework 的过程

    读完本文你会知道,如何在没有源码的情况下,直接修改一个 DLL 以去除 DLL 上的强命名限制,并在该程序集上直接添加你的“友元程序集(一种特殊的 Attribute,将它应用在程序集上,使得程序集内 ...

  3. 当忘记mysql数据库密码时如何进行修改

    因为长时间没有使用数据库了,或者把密码改完之后就忘了数据库密码,不能正常进入数据库,也无法修改密码,有一个简单的常用修改密码方式: 1.首先找到和打开mysql.exe和mysqld.exe所在的文件 ...

  4. DB1:数据库的创建和文件的修改

    在SQL Server中,使用Create Database创建数据库,使用Alter Database命令,能够修改数据库的数据文件和日志文件. 一,创建数据库 1,在创建数据库时,最佳实践是: 创 ...

  5. ExtJS 4.2 业务开发(三)数据添加和修改

    接上面的船舶管理业务,这里介绍添加和修改操作. 目录 1. 添加操作 2. 修改操作 3. 在线演示 1. 添加操作 1.1 创建AddShipWindow.js 在业务中的view目录下创建一个Ad ...

  6. 修改eclipse皮肤

    习惯了vim黑色背景的程序猿们想必用eclipse时会倍感的不适应吧,不过没关系,因为eclipse的皮肤是可以自己定制的! 下面是我电脑上的eclipse界面,看到这个是不是找回了vim的感觉呢? ...

  7. ubuntu系统下如何修改host

    Ubuntu系统的Hosts只需修改/etc/hosts文件,在目录中还有一个hosts.conf文件,刚开始还以为只需要修改这个就可以了,结果发现是需要修改hosts.修改完之后要重启网络.具体过程 ...

  8. linux centos中添加删除修改环境变量,设置java环境变量

    前言 安装完软件必要添加环境变量.指令很少,然而长时间不写就会不自信:我写的对吗?于是百度开始,于是发现又是各有千秋.好吧,好记星不如烂笔头.当然,最重要的是,百度出来的都他妈的是如何添加环境变量,只 ...

  9. 修改session垃圾回收几率

    <?php //修改session垃圾回收几率 ini_set('session.gc_probability','1'); ini_set('session.gc_divisor','2'); ...

  10. Android中开发工具Android Studio修改created用户(windows环境)

    最近经常有朋友反馈说我的安卓项目中,在一些类中会出现Created by panchengjia on 2016/12/30的字样,是如何自动实现的(默认一般为Administrator),如下图: ...

随机推荐

  1. asp.net Socket的简单Web Server

    1.首先初始化socket,包含对端点以及对连接队列长度的初始化 IPAddress address = IPAddress.Loopback; IPEndPoint endPoint = ); So ...

  2. Python: import vs from (module) import function(class) 的理解

    Python: Import vs From (module) import function(class) 本文涉及的 Python 基本概念: Module Class import from . ...

  3. Js之on与addEventListener的使用与两者的不同

    Js之on和addEventListener的使用与不同 一.首先介绍两者的用法: 1.on的用法:以onclick为例 第一种: obj.onclick = function(){ //do som ...

  4. 初识Java反射

    要详细的了解Java反射,就得要了解Java的类加载以及何为运行时动态加载等等概念.本文抛开其余概念,简单介绍Java反射,详细介绍会在以后有一个系统而全面的认识过后展开. 反射是Java被视为动态语 ...

  5. java 解决时间相减问题

    比如 Date currentTime ="2011-06-20 9:23:50"; Date endTime="2011-06-21 10:33:56"; 要 ...

  6. linux开发常用命令

    最近经常查看服务器上的log文件,有时log文件太大查起来很不方便,看了看网上说可以部分查询,就先记录一下吧 Linux中查看部分文件内容命令head,tail,sed的用法: Linux中的查看文件 ...

  7. Java反射机制剖析(一)-定义和API

    1.     什么是Java反射机制 Java的反射机制是在程序运行时,能够完全知道任何一个类,及其它的属性和方法,并且能够任意调用一个对象的属性和方法.这种运行时的动态获取就是Java的反射机制.其 ...

  8. C语言socket编程——linux环境

    先写一个服务器端的监听程序,功能室从客户端读取字符,接收到后告知客户端“I got your message: ”+收到的消息:server.c #include <stdio.h> #i ...

  9. Local模式下Spark程序只输出关键信息

    使用spark-submit提交local任务时,会输出很多Info信息: ------------------------------------------- Time: ms --------- ...

  10. 为什么各大厂商要抢先跟进H.265?

    继爱奇艺.乐视等视频厂商宣布支持 H.265 高清视频后,2014 年 4 月,搜狐视频宣布正式上线视频行业首个 H.265 高清大片专区,可在线观看 200 余部当下最火的超高清大片.国外 BBC ...