如何将选定的jQuery核对表值保存到数据库

时间:2014-05-08 09:08:01

标签: javascript php jquery ajax

我使用jQuery核对表选择值后选择值并按下添加按钮它没有选择jQuery核对表值,下面的任何一个如何操作的指南都是我显示核对清单的代码

这是为了显示清单值

<script>
 $('#language').editable({
       pk: 1,
       limit: 3,
       source: [
        {value: 1, text: 'English'},
        {value: 2, text: 'Arabic'},

       ]
    }); 
</script>

HTML

 <div class="controls">
    <td><a href="#" name="language" id="language"  data-type="checklist" data-value="" data-original-title="Select language"></a></td>

    </div>

<button type="submit" class="contactadd">Save changes</button>

这是我获取所选核对清单值的脚本

$(function() {
    $(".contactadd").click(function() {

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

var dataString = 'language='+ language

$.ajax({
    type: "POST",
    url: "contactsinsert.php",
    data: dataString,
    cache: false,
    success: function(result){


    $("#flash").hide();
    }
    });

}

contactsinsert.php

<?php
$dbHost = 'localhost'; // usually localhost
$dbUsername = 'xxxx';
$dbPassword = 'xxxx';
$dbDatabase = 'xxxx';
$db = mysql_connect($dbHost, $dbUsername, $dbPassword) or die ("Unable to connect to Database Server.");
mysql_select_db ($dbDatabase, $db) or die ("Could not select database.");

$language= $_POST['language'];

$sql_insert="insert into contact(`language`)values ('$language');
mysql_query($sql_insert);
});

?>

尝试但不幸的是它没有插入意味着它没有从清单中获取选定的值可以指导我如何解决这个问题

1 个答案:

答案 0 :(得分:1)

首先,在将$_POST["language"]传递给sql查询之前,必须清理它,以防止sql注入。

然后,您最好检查mysql_query()返回的内容。请查看参考:http://it1.php.net/manual/en/function.mysql-query.php

添加类似内容:

<?php
$result = mysql_query($sql_insert);
if (!$result) {
    // do something
}
?>

哦,还要检查一下你的查询,也许你应该在values之前加一个空格。

修改

在Javascript方面,我不确定您是否可以在val()标记上使用jQuery <a>,特别是如果<a>标记包含一些data-标记attr("data-value") }属性。尝试使用data("value")或{{1}}:

http://api.jquery.com/attr/

http://api.jquery.com/data/