单击按钮可多次动态添加选择框、文本框和日期,并将这些值插入数据库

Adding select box ,text box and date multiple times dynamically on button click and inserting those values into database

本文关键字:日期 数据库 插入 文本 按钮 动态 选择 添加 单击      更新时间:2024-05-21

我想知道如何在单击"添加"按钮时多次显示我的"adddiv"并将这些值插入数据库。

 <div id="adddiv" style=""> 
       <table cellpadding="2" style="width:5`enter code here`5%;" bgcolor=""  
cellspacing="4" align="left">
    <tbody align="left">               
            <tr>
<td  ><h4>Select1</h4></td>
            <td>
               <select name=sel1  id="sel" style="width:285px;">
                    <?php
                                 mysql_set_charset("utf8"); 
                                  $selauf="SELECT * FROM `table1`";
                                  $resauf=  mysql_query($selauf);
                                    echo"<option value=0></option >";       
                                  while ($rowauf= mysql_fetch_array($resauf))
                                    {
                                       $auf_val=$rowauf['aufvalue'];
                                      $auf_arr[]=$auf_val;
                                    }
                             $arrlengthauf=count($auf_arr);
                                         for ($i=0;$i<$arrlengthauf;$i++)
                                         { 
                                              echo"<option >".$auf_arr[$i]."</option >";
                                           }

                                 ?> 
                </select>
            </td>
        </tr>
   <tr  >
        <td allign="left"><h4>date1</h4></td>
    <td > 
               <input type="text" name="datum1">
                <a href="javascript:void();" onClick="setYears(1947, 2020);showCalender(this, 'datum1');">
                        <img src="images/calender.png"></a>


            </td>
</tr>

 <tr  >
<td   > <h4>Select2</h4></td>
<td>
        <select name=sel2  id="sel2" style="width:295px;" >
                     <option value=" "> </option>       
                    <option value="Ja">Ja</option>
                     <option value="Nein">Nein</option>
                     <option value="Unbekannt">Unbekannt</option>
                   </select>
      </td>
        </tr>
        <tr  >
<td   > <h4>Select3</h4></td>
<td>
         <select name=sel3  id="sel3" style="width:295px;" >
                     <option value=" "> </option>       
                    <option value="Ja">Ja</option>
                     <option value="Nein">Nein</option>
                     <option value="Unbekannt">Unbekannt</option>
                   </select>
      </td>
        </tr>
        <tr >
    <td  ><h4>Date2</h4></td>
            <td>
                <input type="text" name="dat2">
                <a href="javascript:void();" onClick="setYears(1947, 2020);showCalender(this, 'dat2');">
                        <img src="images/calender.png"></a>      
            </td>
         </tr>



            </tbody>
    </table>
    <div id="result">
    </div>  

            <input type="button" name="addvalue" value="ADD"  >
               </div>

我想你需要的是DOM(文档对象模型)技巧

如果您想让用户能够将此数据动态添加到web浏览器,您需要在用户单击"添加"按钮后立即将此数据附加到表中

例如:

<html>
<input type="button" id="addbutton" value="Add Row" />
</hml>

 $(document).ready(function () {
                $('#addbutton').click(function () {
                    $('#tableId').append(<tr> Your code </tr>);
                });
            });

关于添加值,我想您可以通过添加一个按钮来异步抛出ajax,该按钮将连接到另一个执行sql查询的页面

我也需要它一次,我使用了append,例如:

HTML:

<div class="button success radius small" id="addL" onclick="addL('#license_div');">Create New Div</div>

JS:

function addP(divName) {
    i++;
    $(divName).append('<div class="row_' + i + '"></div>');
    $("#menge_lcobj").val(i);
}

因此,每次单击按钮都会创建一个新的div,类为row_,即当前保存在i中的数字,例如row_1、row_2。。。

为了保存所有值,我添加了一个隐藏字段,并将其用作for循环的计数器:

for($i = 1; $i < ($contractdata['menge_lcobj']); $i++){
     $sql = 'INSERT INTO table (row) VALUES (' .
     $db->qstr(filter_var($_POST['row_'.($i)]));
     $db->Execute($sql);
}

我不确定它是否能像你想要的那样工作,你可能需要调整它。但它应该能引导你朝着正确的方向前进。示例可能包含语法错误。