Php 一次在数据库中添加多行数据

Php 一次在数据库中添加多行数据,php,html,textbox,Php,Html,Textbox,我有一些数据字段,如产品、金额和条形码。系统只显示1行数据插入表单,其中包含3个字段。当我完成插入第一行时,第二行文本框将自动生成,我可以通过microsoft access来完成,我可以通过php来完成吗 <?php $i=0; ?> <form method="post" action=""> <input type="text" name="<?php echo $i; ?>" /> </form>

我有一些数据字段,如产品、金额和条形码。系统只显示1行数据插入表单,其中包含3个字段。当我完成插入第一行时,第二行文本框将自动生成,我可以通过microsoft access来完成,我可以通过php来完成吗

<?php $i=0; ?>
    <form method="post" action="">
        <input type="text" name="<?php echo $i; ?>" />
    </form>


<?php 
    if(isset($_POST[$i])){
    $i++;
?>
    <form method="post" action="">
        <input type="text" name="<?php echo $i; ?>" />
    </form>
<?php }?>


如果您希望有动态输入字段,以便仅在第一个输入框被填充时才显示第二个和第三个输入框,请使用AJAX代码。

说您的文件名是1.php,然后将表单提交到1a.php

1.php

a=0;
函数生成()
{
if(document.getElementById(a).value!=“”)
{
var new_input=document.getElementById(a).cloneNode(true);
//document.getElementById(a).type=“hidden”;//取消对该语句的注释以隐藏上一个输入框。
新的_输入。id=++a;
新的输入。title='product\'no:'+(a+1);
新_输入。值=”;
document.getElementById('input_section')。appendChild(new_input);
}
其他的
{
警惕(“先给出一些值”);
document.getElementById(a.focus();
}
}
1a.php

警报('没有要插入的记录')
location.href=“1.php”;

这一定是你想要的。由于您没有明确提到第二个输入字段应在什么条件下显示,因此我假设如果在第一个输入字段中插入“try”,则会显示第二个输入字段

 <?php 
 echo "<script>
    function showUser(str)
    {
    if (str=='')
      {
      document.getElementById('txtHint').innerHTML='';
      return;
      } 
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
      }
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        document.getElementById('txtHint').innerHTML=xmlhttp.responseText;
        }
      }
    xmlhttp.open('GET','get.php?q='+str,true);
    xmlhttp.send();
    }
  </script>
  </head>
  <body>
   <form  method='post' action=''>
   First input<input type='text' name='name'  onclick='showUser(this.value)' /></br>
   <div id='txtHint'></div>
   </form>
   </body>
   </html>"; 
    ?>

以及get.php文件中的以下代码

  <?php
  $q = $_GET['q'];
  if($q == 'try'){
  echo "Second input<input type='text' />";
  }
  ?>


我几乎听不懂你的意思。您可以编辑您的问题并使其更清楚吗?您可以使用
echo
作为html标记。为什么不使用3个文本框来表示产品、金额和条形码而不是单个文本框?我假设单个文本框是3个文本框,另一行表示另一个产品。例如,第一行i插入(面包,312341241)分别表示产品、金额和条形码。然后我需要它自动生成另一行文本框,以便插入另一个产品。您是否使用
$i
插入产品数据?如果不是,为什么不使用静态文本框名称而不是运行编号?例如
-1,用于使用不推荐的PHP方法。自从PHP5.5以来,mysql_*方法就被弃用了——这意味着每次我插入数据时,它都会在服务器站点上处理?如果我想获取所有数据并立即将其保存在DB中,怎么样?如果需要,需要javascript。即使没有AJAX也可以。您有任何参考资料吗?请等待更新。我将使用JavaScript将其包含在我的答案中。这正是你想要的吗?我将显示一个示例代码,但是在什么条件下应该显示第二个输入框?在第一个输入框中输入什么?是..当第一个文本框被填充时,第二个文本框将出现。当第二个文本框填充时,将出现第三个文本框。。这就是我的意思。对不起,如果我的英语不好。在我输入第一个文本框后,没有回应。我应该怎么做才能让它工作?与其添加新答案,不如修改现有答案。这可能会给你带来一些新的选票。我编辑了我的新代码。我以前的代码和这段代码都有效。您必须再次在输入字段内单击以查看结果。当我编辑代码时,输入“try”,然后在输入字段内再次单击。然后您将获得第二个输入字段。@user2892997您尝试过这个吗?我只是尝试过。也不工作。当我输入第一个文本框时,没有给出响应。我应该键入什么作为输入?
 <?php 
 echo "<script>
    function showUser(str)
    {
    if (str=='')
      {
      document.getElementById('txtHint').innerHTML='';
      return;
      } 
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
      }
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        document.getElementById('txtHint').innerHTML=xmlhttp.responseText;
        }
      }
    xmlhttp.open('GET','get.php?q='+str,true);
    xmlhttp.send();
    }
  </script>
  </head>
  <body>
   <form  method='post' action=''>
   First input<input type='text' name='name'  onclick='showUser(this.value)' /></br>
   <div id='txtHint'></div>
   </form>
   </body>
   </html>"; 
    ?>
  <?php
  $q = $_GET['q'];
  if($q == 'try'){
  echo "Second input<input type='text' />";
  }
  ?>