使用PHP和AJAX插入MySQL记录

时间:2012-04-12 19:13:00

标签: php javascript mysql ajax

第一次尝试使用AJAX在我的数据库中插入记录。我有以下......

表格

 <form>
     <input type="text" id="salary" name="salary">
     <input type="button" onclick="insertSalary()">
 </form>

AJAX

<script type="text/javascript">

function insertSalary()
{
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById('current-salary').innerHTML=xmlhttp.responseText;
    }
  };
xmlhttp.open("POST","insert_salary.php",true);
xmlhttp.send("salary=" + document.getElementById("salary").value);
}

</script>

PHP

$uid = $_SESSION['oauth_id'];      
$monthly_income = mysql_real_escape_string($_POST['salary']);

#Insert a new Record
$query = mysql_query("INSERT INTO `income` (user_id, monthly_income) VALUES ($uid, '$monthly_income')") or die(mysql_error());
$result = mysql_fetch_array($query);
return $result;

现在我的数据被插入表格 BESIDES '薪水',输入为'0'

一旦插入,我也有一个div'当前工资',然后应该输入值只有它不是,有人可以帮我理解我出错的地方吗?

1 个答案:

答案 0 :(得分:4)

如果您想为自己节省大量时间,精力和心痛,请使用jquery库来处理您的ajax请求。您可以在http://jquery.com/

下载

在jquery脚本中添加引用(脚本标记)后,ajax请求的javascript将变为:

function insertSalary()
{
    var salary = $("#salary").val();
    $.post('insert_salary.php', {salary: salary}, function(data) 
    {
        $("#current-salary").html(data); 
    });
}

另请注意,使用“insert_salary.php”作为url意味着它是一个相对路径,并且必须位于当前运行脚本的文件夹中。

你的php脚本需要回显你想要注入当前工资标签的任何内容。