数据库中两张表:

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. 读书笔记:JavaScript DOM 编程艺术(第二版)

    读完还是能学到很多的基础知识,这里记录下,方便回顾与及时查阅. 内容也有自己的一些补充. JavaScript DOM 编程艺术(第二版) 1.JavaScript简史 JavaScript由Nets ...

  2. [C#] C# 基础回顾 - 匿名方法

    C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...

  3. JAVA语言中的修饰符

    JAVA语言中的修饰符 -----------------------------------------------01--------------------------------------- ...

  4. 展望未来:使用 PostCSS 和 cssnext 书写 CSS

    原文链接:A look into writing future CSS with PostCSS and cssnext 译者:nzbin 像twitter,google,bbc使用的一样,我打算看一 ...

  5. 11、Struts2 的文件上传和下载

    文件上传 表单准备 要想使用 HTML 表单上传一个或多个文件 须把 HTML 表单的 enctype 属性设置为 multipart/form-data 须把 HTML 表单的method 属性设置 ...

  6. vue.js学习笔记

    有了孩子之后,元旦就哪也去不了了(孩子太小),刚好利用一些时间,来公司充充电补补课,学习学习新技术,在这里做一个整理和总结.(选择的东西,既然热爱就把他做好吧!). 下来进入咱们的学习环节: 一.从H ...

  7. Effective java笔记(二),所有对象的通用方法

    Object类的所有非final方法(equals.hashCode.toString.clone.finalize)都要遵守通用约定(general contract),否则其它依赖于这些约定的类( ...

  8. JDBC简介

    jdbc连接数据库的四个对象 DriverManager  驱动类   DriverManager.registerDriver(new com.mysql.jdbc.Driver());不建议使用 ...

  9. android Notification介绍

    如果要添加一个Notification,可以按照以下几个步骤 1:获取NotificationManager: NotificationManager m_NotificationManager=(N ...

  10. DevOps对于企业IT的价值

    其实从敏捷延展开的 DevOps 概念很早就已经被提出,不过由于配套的技术成熟度水平层次不齐, DevOps 的价值一直没有有效地发挥出来.现如今,随着容器技术的发展, DevOps 在企业中的实践难 ...