【问题标题】:PHP How do I get my form inputs to have data that is auto generated based on selection from databasePHP如何让我的表单输入具有根据数据库选择自动生成的数据
【发布时间】:2016-04-06 18:38:29
【问题描述】:

这对我来说有点难以解释,而且我真的没有任何例子可以展示,因为我不知道该怎么做。

我要做的是根据从我的数据库中获取的选择自动为我填写字段。

假设我正在尝试为伤亡表格填写数据,并且我正在从人员数据库中获取我的字段选择,并且该数据库包含内部每个人的所有信息,例如联系电话等信息,下一个亲属、全名、身份证等。

有没有办法根据表格本身的名字来显示联系号码、近亲、身份证号码等数据?

$query = "SELECT * FROM staff";
$result = mysqli_query($link, $query) or die(mysqli_error($link));
.... in the form itself
 <tr>
                <td><label><b>Staff ID</b></label></td>
                <td><select name="staffID"><option value="">Select staff ID</option>
                        <?php
                        while ($row = mysqli_fetch_assoc($result)) {
                            ?>
                            <option value="<?php echo $row['staff_id']; ?>">
                                <?php echo $row['staff_id']; ?>
                            </option>
                        <?php } ?>
                    </select></td>
</tr>

这个想法是,当他们从下拉框中选择一个 ID 后,会出现额外的字段,为用户提供员工的更多详细信息,例如他们的全名、联系电话等。

我可以回显他们的所有 ID,并且我知道如何生成其他字段,但我不知道如何根据他们选择的 staff_ID 自动填写这些字段的数据。

对不起,如果这令人困惑,英语不是我的主要语言,我的编程很糟糕

【问题讨论】:

  • 你知道javascript/ajax吗?这就是你所需要的。
  • 天哪,我对那个很糟糕
  • 你可以开始simpel了。只需调用一个 PHP 脚本来回显如下字段:'field1;field2;...'。在javascript中,你可以在';'上做一个字符串爆炸字符,然后设置输入字段的值。

标签: php mysql forms dynamic


【解决方案1】:

英语不是我的自然语言(我来自巴西)。

在这种情况下,您将需要使用 AJAX。更简单的方法是使用 Jquery (www.jquery.com)。我会以更简单的方式放在这里,但如果无法提供帮助,请再次告诉我。

---我们走吧--------------

<option id="reportedBy" name="reportedBy">
   <option value="staff" data-name="Full Name of Staff" data-no="(222)2222-2222">
</option>

因此,您将使用 jquery 创建一个脚本。当这个选项改变他的值时,你会得到选择的选项值,并使用数据集获取其他数据。

<script>
$(document).ready(function(){

$("#reportedBy").change(function(){
    name = $(this).find(":selected").data("name"); //data-name less data-
    no = $(this).find(":selected").data("no"); //data-no less data-

    //Assuming your textfilds use the id "name" and no

    $("#name").val(name);
    $("#no").val(no);


});

});
</script>

【讨论】:

    猜你喜欢
    • 2015-03-04
    • 1970-01-01
    • 1970-01-01
    • 2020-02-29
    • 2013-12-24
    • 2015-11-23
    • 1970-01-01
    • 1970-01-01
    • 2015-02-22
    相关资源
    最近更新 更多