php后台编辑关联数据
数据库中两张表:
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后台编辑关联数据的更多相关文章
- EF学习笔记(八):更新关联数据
学习笔记主目录链接:ASP.NET MVC5 及 EF6 学习笔记 - (目录整理) 上一篇链接:EF学习笔记(七):读取关联数据 本篇原文链接:Updating Related Data 本篇主要考 ...
- 【EF6学习笔记】(八)更新关联数据
上一篇链接:EF学习笔记(七):读取关联数据 本篇原文链接:Updating Related Data 本篇主要考虑对于有关联的数据进行新增.删除.更新操作:比如Course .Instructor: ...
- Contoso 大学 - 6 – 更新关联数据
原文 Contoso 大学 - 6 – 更新关联数据 By Tom Dykstra, Tom Dykstra is a Senior Programming Writer on Microsoft's ...
- telerik:RadGrid 在表格中编辑更新数据
对于 telerik 这个框架 我也不是很熟悉 也是刚刚开始学习 有兴趣的可以去官网看下 https://www.telerik.com/ 啥也不多说 直接上代码 首先是 telerik:RadGr ...
- ajax向后台传递数组参数并将后台响应的数据赋值给一个变量供其它插件使用
1.在js中封装ajax向后台传递数组参数函数 //combogrid * * @Description 封装ajax向后台传递数组参数并将后台响应的数据赋值给一个变量方便其他插件使用该数据函数 * ...
- wordpress后台编辑如何显示定义的`style.css`样式
wordpress后台编辑如何显示定义的style.css样式 由于公司官网采用wordpress进行搭建,但是却又自己设计页面,无奈主题只能自行构建了,直接修改wordpress自带的主题进行修改. ...
- EF里单个实体的增查改删以及主从表关联数据的各种增删 改查
本文目录 EF对单个实体的增查改删 增加单个实体 查询单个实体 修改单个实体 删除单个实体 EF里主从表关联数据的各种增删改查 增加(增加从表数据.增加主从表数据) 查询(根据主表找从表数据.根据从表 ...
- Entity Framework Code First实体关联数据加载
在项目过程中,两个实体数据之间在往往并非完全独立的,而是存在一定的关联关系,如一对一.一对多及多对多等关联.存在关联关系的实体,经常根据一个实体的实例来查询获取与之关联的另外实体的实例. Entity ...
- MVC后台传dt数据
//MVC后台传dt数据 public JsonResult TeacherVoteInfo([FromBody]Teacher_VoteModel model) { string tname = m ...
随机推荐
- expect用法
1. [#!/usr/bin/expect] 这一行告诉操作系统脚本里的代码使用那一个shell来执行.这里的expect其实和linux下的bash.windows下的cmd是一类东西. 注意: ...
- 关于微软HttpClient使用,避免踩坑
最近公司对于WebApi的场景使用也越来越加大了,随之而来就是Api的客户端工具我们使用哪个?我们最常用的估计就是HttpClient,在微软类库中命名空间地址:System.Net.Http,是一个 ...
- java字符乱码
在java中处理字符时,经常会发生乱码,而主要出现的地方在读取文本文件时发生,或者是写入到文件中,在其他地方打开乱码. 如下例子: BufferedReader br = null; try { br ...
- scrapy爬虫docker部署
spider_docker 接我上篇博客,为爬虫引用创建container,包括的模块:scrapy, mongo, celery, rabbitmq,连接https://github.com/Liu ...
- 前端学HTTP之重定向和负载均衡
前面的话 HTTP并不是独自运行在网上的.很多协议都会在HTTP报文的传输过程中对其数据进行管理.HTTP只关心旅程的端点(发送者和接收者),但在包含有镜像服务器.Web代理和缓存的网络世界中,HTT ...
- EntityFramework之DetectChanges's Secrets(三)(我为EF正名)
前言 对于应用程序开发者来说,通常不需要考虑太多对于Entity Framework中的变更追踪(change tracking),但是变更追踪和DetectChanges方法是栈的一部分,在这其中, ...
- [C#] 简单的 Helper 封装 -- RegularExpressionHelper
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 破解SQLServer for Linux预览版的3.5GB内存限制 (RHEL篇)
微软发布了SQLServer for Linux,但是安装竟然需要3.5GB内存,这让大部分云主机用户都没办法尝试这个新东西 这篇我将讲解如何破解这个内存限制 要看关键的可以直接跳到第6步,只需要替换 ...
- 程序猿都没对象,JS竟然有对象?
现在做项目基本是套用框架,不论是网上的前端还是后端框架,也会寻找一些封装好的插件拿来即用,但还是希望拿来时最好自己过后再回过头了解里面的原理,学习里面优秀的东西,不论代码封装性,还是小到命名. 好吧, ...
- BlockingCollection使用
BlockingCollection是一个线程安全的生产者-消费者集合. 代码 public class BlockingTest { BlockingCollection<int> bc ...