Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP和MySQL如何使用另一个表中的一些字段值填充一个表_Php_Mysql - Fatal编程技术网

使用PHP和MySQL如何使用另一个表中的一些字段值填充一个表

使用PHP和MySQL如何使用另一个表中的一些字段值填充一个表,php,mysql,Php,Mysql,我正在处理一个数据库项目,其中一个表单表需要使用选择框用另一个表中的一些值填充 表1称为reg\u Table,具有以下字段: RegNo | Surname | Othernames | Assembly ------------------------------------------------- 00001 | John | Okon | Glory Assembly 00002 | Peter | Dan | Shepherds Assembly

我正在处理一个数据库项目,其中一个表单表需要使用选择框用另一个表中的一些值填充

表1称为
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
  • 现在,当您打开valpartsfrm表单并使用链接到注册表的valpartsfrm表单上的选择框对象选择姓氏值时,它将显示所有姓氏。从列表中选择姓氏时,它应使用reg_表中的RegNo LANSAME Othernames Assembly值填充valpartsfrm上的以下字段

  • 完成后,您可以手动填写其余的ValpartsForm表单字段(MTNumber,Camping hotel)

  • 请注意,
    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作为我的开发软件