数据库中两张表:

info表中“民族”关联了nation表中的“code”。

php通过后台编辑info表中民族显示成用户可看懂及可直接修改的选项。

新建xinxi.php文件显示info中数据,并且民族选项显示非代号。

<?php
$de = new mysqli("localhost","root","","12345");
$e="select * from info";
$result = $de->query($e);
$atter = $result->fetch_all();
echo "<table border=1 >";
echo "<tr>
<td>代号</td>
<td>姓名</td>
<td>性别</td>
<td>民族</td>
<td>出生日期</td>
<td>操作</td>
</tr> ";
foreach($atter as $v)
{
$sex = $v[2]; //性别用 男和女显示。
$sex = $sex?"男":"女"; $nation = $v[3]; //民族用非代号显示。
$sqln = "select name from nation where code='{$nation}'";
$r = $de->query($sqln);
$atr = $r->fetch_row();
echo " <tr>
<td>{$v[0]}</td><td>{$v[1]}</td><td>{$sex}</td><td>{$atr[0]}</td><td>{$v[4]}</td>
<td> <a href='xiugai.php?code={$v[0]}'>修改</a> </td>
</tr> ";
}
echo " </table>";
echo "<a href='tianjia.php'>添加数据</a>"
?>

  

显示结果:

添加数据:

同路径下新建tianjia.php

<h1>添加数据</h1>
<form action="tianjiachuli.php" method="post">
<input type="hidden" name="code" /> <br />
姓名:<input type="text" name="name" /><br />
性别:<input type="radio" name="sex" value="1" />男 <input type="radio" name="sex" value="0" />女 <br /> 民族: //使用下拉获取民族选项的代号
<select name="nation">
<?php
$db = new MySQLi("localhost","root","","12345");
$sql = "select * from nation";
$result = $db->query($sql);
$attr = $result->fetch_all();
foreach($attr as $v)
{
echo " <option value='{$v[0]}' >{$v[1]}</option> ";
}
?> </select> <br />
生日:<input type="text" name="birthday" /><br />
<input type="submit" value="提交"/>
</form>

  

同路径下新建tianjiachuli.php

<?php
$code = $_POST["code"];
$name = $_POST["name"];
$sex = $_POST["sex"];
$nation = $_POST["nation"];
$birthday = $_POST["birthday"];
$db = new mysqli("localhost","root","","12345");
$sql = "insert into info values('{$code}','{$name}','{$sex}','{$nation}','{$birthday}')";
$r = $db->query($sql);
if($r)
{
header("location:xinxi.php");
}
else
{
echo "添加失败";
}
?>

  

修改数据:

同路径下新建xiugai.php

<?php
$code = $_GET["code"];
$db = new MySQLi("localhost","root","","12345");
$sql = "select * from info where code='{$code}'"; $result = $db->query($sql);
$attr = $result->fetch_row();
?> <h1>修改数据</h1>
<form action="xiugaichuli.php" method="post">
<input type="hidden" name="code" value="<?php echo $attr[0] ?>" /> <br />
姓名:<input type="text" name="name" value="<?php echo $attr[1] ?>" /><br />
性别:<input type="radio" name="sex" value="1" <?php echo $attr[2]?"checked='checked'":""; ?> />男 <input type="radio" name="sex" value="0" <?php echo $attr[2]?"":"checked='checked'"; ?> />女 <br /> 民族:
<select name="nation">
<?php $sqln = "select * from nation";
$result = $db->query($sqln);
$atter = $result->fetch_all();
foreach($atter as $v)
{
if($attr[3]==$v[0])
{
echo "<option selected='selected' value='{$v[0]}'>{$v[1]}</option>";
}
else
{
echo " <option value='{$v[0]}' >{$v[1]}</option> ";
} }
?> </select> <br />
生日:<input type="text" name="birthday" value="<?php echo $attr[4] ?>" /><br />
<input type="submit" value="修改"/>
</form>

  

同路径下新建xiugaichuli.php

<?php
$code = $_POST["code"];
$name = $_POST["name"];
$sex = $_POST["sex"];
$nation = $_POST["nation"];
$birthday = $_POST["birthday"];
$db = new mysqli("localhost","root","","12345");
$sql = "update info set name='{$name}',sex={$sex},nation='{$nation}',birthday='{$birthday}' where code='{$code}'";
$r = $db->query($sql);
if($r)
{
header("location:xinxi.php");
}
else
{
echo "修改失败";
}
?>

  

显示结果:

修改为:

php后台编辑关联数据的更多相关文章

  1. EF学习笔记(八):更新关联数据

    学习笔记主目录链接:ASP.NET MVC5 及 EF6 学习笔记 - (目录整理) 上一篇链接:EF学习笔记(七):读取关联数据 本篇原文链接:Updating Related Data 本篇主要考 ...

  2. 【EF6学习笔记】(八)更新关联数据

    上一篇链接:EF学习笔记(七):读取关联数据 本篇原文链接:Updating Related Data 本篇主要考虑对于有关联的数据进行新增.删除.更新操作:比如Course .Instructor: ...

  3. Contoso 大学 - 6 – 更新关联数据

    原文 Contoso 大学 - 6 – 更新关联数据 By Tom Dykstra, Tom Dykstra is a Senior Programming Writer on Microsoft's ...

  4. telerik:RadGrid 在表格中编辑更新数据

    对于 telerik 这个框架 我也不是很熟悉 也是刚刚开始学习  有兴趣的可以去官网看下 https://www.telerik.com/ 啥也不多说 直接上代码 首先是 telerik:RadGr ...

  5. ajax向后台传递数组参数并将后台响应的数据赋值给一个变量供其它插件使用

    1.在js中封装ajax向后台传递数组参数函数 //combogrid * * @Description 封装ajax向后台传递数组参数并将后台响应的数据赋值给一个变量方便其他插件使用该数据函数 * ...

  6. wordpress后台编辑如何显示定义的`style.css`样式

    wordpress后台编辑如何显示定义的style.css样式 由于公司官网采用wordpress进行搭建,但是却又自己设计页面,无奈主题只能自行构建了,直接修改wordpress自带的主题进行修改. ...

  7. EF里单个实体的增查改删以及主从表关联数据的各种增删 改查

    本文目录 EF对单个实体的增查改删 增加单个实体 查询单个实体 修改单个实体 删除单个实体 EF里主从表关联数据的各种增删改查 增加(增加从表数据.增加主从表数据) 查询(根据主表找从表数据.根据从表 ...

  8. Entity Framework Code First实体关联数据加载

    在项目过程中,两个实体数据之间在往往并非完全独立的,而是存在一定的关联关系,如一对一.一对多及多对多等关联.存在关联关系的实体,经常根据一个实体的实例来查询获取与之关联的另外实体的实例. Entity ...

  9. MVC后台传dt数据

    //MVC后台传dt数据 public JsonResult TeacherVoteInfo([FromBody]Teacher_VoteModel model) { string tname = m ...

随机推荐

  1. 【.net 深呼吸】细说CodeDom(3):命名空间

    在上一篇文章中,老周介绍了表达式和语句,尽管老周没有把所有的内容都讲一遍,但相信大伙至少已经掌握基本用法.在本文中,咱们继续探讨 CodeDom 方面的奥秘,这一次咱们聊聊命名空间. 在开始之前,老周 ...

  2. .NetCore中的日志(1)日志组件解析

    .NetCore中的日志(1)日志组件解析 0x00 问题的产生 日志记录功能在开发中很常用,可以记录程序运行的细节,也可以记录用户的行为.在之前开发时我一般都是用自己写的小工具来记录日志,输出目标包 ...

  3. 【开源】.net 分布式架构之监控平台

    开源地址:http://git.oschina.net/chejiangyi/Dyd.BaseService.Monitor .net 简单监控平台,用于集群的性能监控,应用耗时监控管理,统一日志管理 ...

  4. mac下安装及配置tomcat

    mac下的软件不像windows下的程序那样写注册表,对于tomcat的安装来说,在mac下是名符其实的绿色软件,具体操作如下: 1.到 apache官方主页 下载完整 tar.gz文件包.(没有专门 ...

  5. 玩转spring boot——结合JPA入门

    参考官方例子:https://spring.io/guides/gs/accessing-data-jpa/ 接着上篇内容 一.小试牛刀 创建maven项目后,修改pom.xml文件 <proj ...

  6. 【热门技术】EventBus 3.0,让事件订阅更简单,从此告别组件消息传递烦恼~

    一.写在前面 还在为时间接收而烦恼吗?还在为各种组件间的消息传递烦恼吗?EventBus 3.0,专注于android的发布.订阅事件总线,让各组件间的消息传递更简单!完美替代Intent,Handl ...

  7. obj.style.z-index的正确写法

    obj.style.z-index的正确写法 今天发现obj.style.z-index在js里面报错,后来才知道在js里应该把含"-"的字符写成驼峰式,例如obj.style.z ...

  8. 2016/12/28_javascript

    今天学习的主要内容: javascript: 1.if语句,switch语句,while循环以及for循环: 1)if语句 if(boolean){}; if(boolean){} else if(b ...

  9. 【干货分享】流程DEMO-请休假

    流程名: 请假申请  流程相关文件: 流程包.xml WebService业务服务.xml WebService.asmx WebService.cs  流程说明: 流程中集成了webservice服 ...

  10. BPM SharePoint解决方案分享

    一.需求分析 SharePoint作为微软推出的协同类平台产品,为客户提供了门户.内容.文档.流程.社区.搜索.BI等一系列的解决方案,然而其流程功能由于设计理念差异,不能完全满足客户的需求,主要原因 ...