使用php中的ajax将数据插入数据库

时间:2012-12-01 10:04:56

标签: php mysql ajax

我有3个输入文本,分别是“type:number”和一个保存按钮。 我想使用ajax将这3个输入文本数据插入到数据库中。 我编写了如下代码:

<fieldset><legend>Response Times</legend></fieldset> 
    <form class="form">
        <div class="control-group">
            <label class="control-label">High Priority</label>
            <div class="controls">
            <input type="number" name="high" id="sval"/>Days
            </div>
        </div>
        <div class="control-group">
            <label class="control-label ">Low Priority</label>
            <div class="controls">
            <input type="number" name="high" id="sval"/>Days</div>
        </div>
         <div class="control-group">
            <label class="control-label ">Normal</label>
            <div class="controls">
            <input type="number" name="high" id="sval"/>Days </div>
        </div>
        <button id="insert" class="btn btn-primary">Save</button>
</form>
<script type="text/javascript" src="<?php echo $BASE;?>scripts/data/projects_service.js"></script>

我的查询是

Insert into app_settings(kunnr,skey,sval) Values ('0001000383','hp_days','1') 
Insert into app_settings(kunnr,skey,sval) Values ('0001000383','lp_days','3')
Insert into app_settings(kunnr,skey,sval) Values ('0001000383','np_days','2')

这是硬编码但我不想要硬编码数据。我的问题是只有sval值显示在视图中但是这个skey值怎么样。我想要使用ajax插入它 我用ajax试过这个,我写的如下:

$(function () {
    $("#insert").click(function () {
        var id = $("#id").val();
        var sval = $("#sval").val();
        $.post(root + "data/projects_service?json", { pid: id, sval: sval }, function (data) { });

    });        
});

请在此建议我..

3 个答案:

答案 0 :(得分:2)

看看这一行:

var id = $("#id").val();

此行表示您从id的名称为“id”的元素中获取值。

因此,Js找不到该元素的值,因为它不存在。

为什么你使用id =“sval”? Id参数应始终唯一。将其id分别更改为“hp”,“lp”,“n”,并在jQ中获取3个值。)

var hp = $("#hp").val();
var lp = $("#lp").val();
var n = $("#n").val();

答案 1 :(得分:2)

html代码

<html>
<body>

<fieldset><legend>Response Times</legend></fieldset> 
    <form class="form">
        <div class="control-group">
            <label class="control-label">High Priority</label>
            <div class="controls">
            <input type="number" name="high" id="kunnr"/>Days
            </div>
        </div>
        <div class="control-group">
            <label class="control-label ">Low Priority</label>
            <div class="controls">
            <input type="number" name="high" id="skey"/>Days</div>
        </div>
         <div class="control-group">
            <label class="control-label ">Normal</label>
            <div class="controls">
            <input type="number" name="high" id="sval"/>Days </div>
        </div>
        <button id="insert" class="btn btn-primary">Save</button>
</form>

</body>
</html>

jquery代码

$(function()
{   
    $("#insert").click(function() 
    {
        var kunnr = $("#kunnr").val;
        var sKey = $("#skey").val;
        var sVal = $("#sval").val;
        var dataString = "kunnr="+kunnr+"&sKey="+sKey+"&sVal="sVal;
        $.ajax(
        {
            type: "GET",
                url: "your url", // in the page of url write the code to insert in db
                data: dataString,
                success: function(result) 
                {               
                    alert(result); // you can just check whether the row is inserted or not.
                }
            });
    });
});

答案 2 :(得分:0)

在“您的网址”文件中,您可以访问变量hp,例如$_GET['hp']

你能告诉我kunnr应该是不同日期的不同参数吗? 如果不是,则可以按以下方式进行查询:

Insert into app_settings(kunnr,skey,sval) Values ('0001000383','hp_days',$_GET['hp']) 
Insert into app_settings(kunnr,skey,sval) Values ('0001000383','lp_days', $_GET['lp'])
Insert into app_settings(kunnr,skey,sval) Values ('0001000383','np_days',$_GET['n'])