使用DB值动态添加字段到Form,php


Dynamically adding fields to Form with DB values, php

好吧,我有一个由许多元素组成的表单,我希望用户能够动态地向表单添加内容(理想情况下不使用JS来不显示SQL查询和其他内容)。目前我正在php中尝试这样做,代码示例如下:

假设其中有一个表单和一个表t1,通过按下按钮或w/e,一个相同的表,t2到一个集合tn,到具有更改id的表单(这很简单)
这在多大程度上可能不暴露SQL内容,也不需要重新加载页面?

<form ...>
...
echo'<table id="t1" ...>
 <tr>
   <td>Text</td>
   <td>Text</td>
   <td>Text</td>
   <td>Text</td>
</tr>
<tr>
  <td>';
     $query = "SELECT * FROM randomTable";
     $exec = mysql_query($query ) or die(mysql_error());
     $num = 0;
     while ($row= mysql_fetch_array($exec))
     {
       if ($num == 0)
       {
         echo '<select id="t1_show">
               <option value="" selected="selected">
               <option value="' . $row['id'] . '">'
               . $row['name'] . '</option>';
         $num ++;
       }
       else
       {
         echo '<option value="' . $row['id'] . '">'
               . $row['name'] . '</option>';
         $num ++;
       }
     }
     if ($num > 0) echo '</select>';
     echo '</td>
           <td><input id="t1_input1" type="text"/></td>
           <td><input id="t1_input2" type="text"/></td>
           <td><input id="t1_input3" type="text"/></td>
         </tr>
  </table>';
...

理想情况下,不使用JS来不显示SQL查询和其他内容。

使用JS,特别是ajax,不会公开任何内容,只需调用一个php脚本,该脚本在后台完成所有DB工作,然后返回结果。

我建议您看看jquery和jquery.ajax(),这正是您所需要的。

只需将一个点击事件绑定到按钮并发送一个ajax请求。