如何将值从动态文本框保存到数据库mysql? - php,jquery

时间:2013-06-27 08:09:55

标签: php jquery database

我的目标是拥有动态文本框并将其中的值保存到我的数据库中。 我这里有JavaScript,允许我添加动态文本框

<SCRIPT type="text/javascript">

$(document).ready(function(){
    var increment=2;

    $("#addButton").click(function(){
        if(increment > 5)
        {
            alert('You can only add 5 Textboxes');
            return false;
        }
        // two methods
        // first memthod...we can write div element
        var maincontent="<label>Textbox #"+increment+" : </label><input type='textbox' name='textbox"+increment+"' id='textbox"+increment+"'/>";
        var fun="<div id='TextBoxDiv"+increment+"'>"+maincontent+"</div>";
        //$("#TextBoxesGroup").append(fun);

        //second method 
        // here jquery through create div element

        var newTextBoxDiv = $(document.createElement('div')).attr('id', 'TextBoxDiv' +increment);
        newTextBoxDiv.after('').html(maincontent);    
        $(newTextBoxDiv).appendTo("#TextBoxesGroup");

        increment++;
    });
    $("#removeButton").click(function () {
        if(increment==1){
            alert("No more textbox to remove");
            return false;
        }   
        increment--;

        $("#TextBoxDiv" + increment).remove();
    });

    $("#getButtonValue").click(function () {

        var msg = '';
        for(i=1; i<increment; i++){
            msg += "\n Textbox #" + i + " : " + $('#textbox' +    i).val();
        }
        alert(msg);
    });
});
</script>

这是我的表格

<div id='TextBoxesGroup'>
    <div id="TextBoxDiv1">
        <label>Textbox #1 : </label><input type='text' id='textbox1' name="txt[]">
    </div>
</div>

任何人都可以帮助我使用php方面,如何将这些保存到数据库中?我是php的新手。

我尝试过这些

<?php
$txt = (array) $_POST['txt'];

if($_POST['submit'])
{
    $add = "INSERT INTO `names` (`first`) values ('$txt')";
    mysql_query($add) or die(mysql_error());

    echo "Added!";
?>
没有任何反应。它没有添加任何内容。请帮忙 如果有人能帮助我并引导我排队,我会非常感激。谢谢大家!!!

1 个答案:

答案 0 :(得分:0)

我认为,这一行存在问题

var maincontent="<label>Textbox #"+increment+" : </label><input type ='textbox' name='textbox"+increment+"' id='textbox"+increment+"'/>";

应该是

var maincontent="<label>Textbox #"+increment+" : </label><input type ='textbox' name='txt[]' id='textbox"+increment+"'/>";

服务器端你可以使用

<?php

if(!empty($_POST['txt']) && count($_POST['txt']>0))
{
    $txt = "('".implode("'),('", $_POST['txt'])."')";
    $add = "INSERT INTO `names` (`first`) values $txt";
    mysql_query($add) or die(mysql_error());

    echo "Added!";
}
?>
  

我希望这会有效

由于

相关问题