使用PHP和MySQL如何使用另一个表中的一些字段值填充一个表
我正在处理一个数据库项目,其中一个表单表需要使用选择框用另一个表中的一些值填充 表1称为使用PHP和MySQL如何使用另一个表中的一些字段值填充一个表,php,mysql,Php,Mysql,我正在处理一个数据库项目,其中一个表单表需要使用选择框用另一个表中的一些值填充 表1称为reg\u Table,具有以下字段: RegNo | Surname | Othernames | Assembly ------------------------------------------------- 00001 | John | Okon | Glory Assembly 00002 | Peter | Dan | Shepherds Assembly
reg\u Table
,具有以下字段:
RegNo | Surname | Othernames | Assembly
-------------------------------------------------
00001 | John | Okon | Glory Assembly
00002 | Peter | Dan | Shepherds Assembly
00003 | Ada | Victor | Pnuema Assembly
表2被称为valparts\u table
,表1的所有字段如下所示
CountID | MTNumber | Camping | Hostel | RegNo | Surname | Othernames | Assembly
----------------------------------------------------------------------------------------------
00001 | 0002 | Yes | Hostel-1 | 00001 | John | Okon | Glory Assembly
00002 | 0003 | No | Hostel-2 | 00002 | Peter | Dan | Shepherds Assembly
00003 | 0004 | Yes | Hostel-3 | 00003 | Ada | Victor | Pnuema Assembly
valparts\u表
已绑定到valpartsfrm表单
该链接显示了使用MS Access 2007开发的数据库示例。选择该选项时,您需要填写哪些内容 试试这个代码 它的形式演示 在这个选择框中,有一个json字符串中的选项值和一个onchange函数
<table>
<tr>
<td>Select Surname</td>
<td>
<select id="my_select" onchange="javascript:fill_form(this.value)">
<option value="">Select</option>
<?php
$res = mysql_query("SELECT * FROM `reg_table` ") or die(mysql_error());
while($row = mysql_fetch_assoc($res))
{
$key = json_encode($row);
echo "<option value='".$key."'>".$row['Surname']."</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td>RegNo</td>
<td>
<input type="text" value="" name="RegNo" id="RegNo" />
</td>
</tr>
<tr>
<td>Surname</td>
<td>
<input type="text" value="" name="Surname" id="Surname" />
</td>
</tr>
<tr>
<td>Othernames</td>
<td>
<input type="text" value="" name="Othernames" id="Othernames" />
</td>
</tr>
<tr>
<td>Assembly</td>
<td>
<input type="text" value="" name="Assembly" id="Assembly" />
</td>
</tr>
</table>
选择姓氏
挑选
雷格诺
姓
其他名字
装配
JS
当您更改选择框选项时,此js函数调用
在这种情况下,json字符串在对象中分离,并相应地填充文本框
<script>
function fill_form(json_string)
{
if(json_string=="")
{
document.getElementById('RegNo').value = "";
document.getElementById('Surname').value = "";
document.getElementById('Othernames').value = "";
document.getElementById('Assembly').value = "";
}
else
{
var jsonData = JSON.parse(json_string); // json string to object
document.getElementById('RegNo').value = jsonData.RegNo;
document.getElementById('Surname').value = jsonData.Surname;
document.getElementById('Othernames').value = jsonData.Othernames;
document.getElementById('Assembly').value = jsonData.Assembly;
}
}
</script>
函数填充表单(json字符串)
{
如果(json_字符串==“”)
{
document.getElementById('RegNo')。value=“”;
document.getElementById(‘姓氏’).value=“”;
document.getElementById('Othernames')。value=“”;
document.getElementById('Assembly')。value=“”;
}
其他的
{
var jsonData=JSON.parse(JSON_string);//对象的JSON字符串
document.getElementById('RegNo')。value=jsonData.RegNo;
document.getElementById(‘姓氏’).value=jsonData.name;
document.getElementById('Othernames')。value=jsonData.Othernames;
document.getElementById('Assembly')。value=jsonData.Assembly;
}
}
能否指定这两个表的数据库引擎?您正在重复数据库中的某些列。你不需要重复这些column@Ruben贾昆托:很抱歉我错过了。我在PHP@Awlad-Liton中使用MySQL:重复的列在另一个表中,当选择与行匹配的姓氏时,将自动填充。例如,如果您从te选择框中选择Peter,它将在其他文本框中填充00002 | Peter | Dan | Shepherds Assembly感谢您的快速响应。我将实施这一计划,并拭目以待。我应该复制代码并粘贴到ValpartsForm表单后面而不做任何修改吗?好的,我会的。我正在使用Dreamweaver作为我的开发软件