PHP中的表单,第一次输入后从数据库中获取数据

PHP中的表单,第一次输入后从数据库中获取数据,php,mysql,ajax,forms,Php,Mysql,Ajax,Forms,我必须用PHP创建一个表单。在用户编写所需数据的第一部分之后,此表单必须从数据库中获取其他数据,并在发送完整表单之前在表单第二部分的某些字段中预先填充 为了做到这一点,我正在使用php if else,我将发送一个只包含开头第一个字段的表单,然后我将使用该字段从mySql数据库获取数据并显示整个表单 对我来说,重新加载页面不是问题,所以如果可能的话,我宁愿不使用AJAX 从逻辑和性能的角度来看,这样做好吗 我将省略有关与数据库连接的部分 <form action="' . $_SERVER

我必须用PHP创建一个表单。在用户编写所需数据的第一部分之后,此表单必须从数据库中获取其他数据,并在发送完整表单之前在表单第二部分的某些字段中预先填充

为了做到这一点,我正在使用php if else,我将发送一个只包含开头第一个字段的表单,然后我将使用该字段从mySql数据库获取数据并显示整个表单

对我来说,重新加载页面不是问题,所以如果可能的话,我宁愿不使用AJAX

从逻辑和性能的角度来看,这样做好吗

我将省略有关与数据库连接的部分

<form action="' . $_SERVER['REQUEST_URI'] . '" method="post">
    <div>
    <label for="first_data">First data <strong>*</strong></label>
    <input type="text" name="first_data">
    <input type="hidden" name="verify" value="1">
    </div>

   <?php
       if ($_POST['verify']!=1){
            echo '<input type="submit" name="submit" value="Send"></form>';
       }
       else{
            //continue with the remaining part of the form
       }
   ?>

这样做很好,尽管我对你的观点是如何建立的表示异议。更合理的做法是拥有表单的所有公共元素,然后对非公共元素使用if/else:

<form action="<?php echo $_SERVER['REQUEST_URI'] ?>" method="post">
    <div>
        <label for="first_data">First data <strong>*</strong></label>
        <input type="text" name="first_data">
        <input type="hidden" name="verify" value="1" />
    </div>
    <?php if ($_POST['verify'] != 1): ?>
      <input type="submit" name="submit" value="Send">
    <?php else: ?>
       <!-- output the other fields -->
    <?php endif; ?>
</form>

使用ajax的唯一缺点是需要重新请求整个页面,而不是只请求所需的部分。但是开销可以忽略不计