数据库中两张表:

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. 学点HTTP知识

    不学无术 又一次感觉到不学无术,被人一问Http知识尽然一点也没答上来,丢人丢到家了啊.平时也看许多的技术文章,为什么到了关键时刻就答不上来呢? 确实发现一个问题,光看是没有用的,需要实践.看别人说的 ...

  2. 使用 Roslyn 编译器服务

    .NET Core和 .NET 4.6中 的C# 6/7 中的编译器Roslyn 一个重要的特性就是"Compiler as a Service",简单的讲,就是就是将编译器开放为 ...

  3. InnoDB关键特性学习笔记

    插入缓存 Insert Buffer Insert Buffer是InnoDB存储引擎关键特性中最令人激动与兴奋的一个功能.不过这个名字可能会让人认为插入缓冲是缓冲池中的一个组成部分.其实不然,Inn ...

  4. 【Big Data】HADOOP集群的配置(一)

    Hadoop集群的配置(一) 摘要: hadoop集群配置系列文档,是笔者在实验室真机环境实验后整理而得.以便随后工作所需,做以知识整理,另则与博客园朋友分享实验成果,因为笔者在学习初期,也遇到不少问 ...

  5. git-2.10.2-64-bit介绍&&git下载&&git安装教程

    Git介绍 分布式:Git系统是一个分布式的系统,是用来保存工程源代码历史状态的命令行工具. 保存点:Git的保存点可以追踪源码中的文件, 并能得到某一个时间点上的整个工程项目的状态:可以在该保存点将 ...

  6. Asp.Net Core 项目实战之权限管理系统(4) 依赖注入、仓储、服务的多项目分层实现

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  7. VB.NET设置控件和窗体的显示级别

    前言:在用VB.NET开发射频检测系统ADS时,当激活已存在的目标MDI子窗体时,被其他子窗体遮住了,导致目标MDI子窗体不能显示. 这个问题怎么解决呢?网上看到一篇帖子VB.NET设置控件和窗体的显 ...

  8. VS2015常用快捷键总结

    生成解决方案 F6,生成项目Shift+F6 调试执行F5,终止调试执行Shift+F5 执行调试Ctrl+F5 查找下一个F3,查找上一个Shift+F3 附加到进程Ctrl+Alt+P,逐过程F1 ...

  9. /etc/ppp/chap-secrets

    # Secrets for authentication using CHAP # client server secret IP addresses abc l2tpd * client:VPN 用 ...

  10. 《深入理解Java虚拟机》虚拟机性能监控与故障处理工具

    上节学习回顾 从课本章节划分,<垃圾收集器>和<内存分配策略>这两篇随笔同属一章节,主要是从理论+实验的手段来讲解JVM的内存处理机制.好让我们对JVM运行机制有一个良好的概念 ...