2012-04-12 20 views
1

初めてAJAXを使用して自分のDBにレコードを挿入しようとしています。私はPHPとAJAXでMySQLレコードを挿入する

<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; 

Nowmyデータがあることである

フォーム...次しています「0」

一度Iはまた、それだけそこで移入されるべきであるDIV「電流給与」入力された値を有する挿入として入力されているテーブルに挿入ほか「給与」INGのありえません誰が私がどこに間違っているのか理解するのを助けることができますか?

+0

Firebugなどでデバッグして、給与があなたのPHPに適切に渡されているかどうか確認できますか? – rwilliams

+0

はいと表示されます。 – Liam

答えて

4

あなた自身の時間と労力と心配を自分で保存したい場合は、ajaxリクエストにjqueryライブラリを使用します。あなたは、Ajaxのリクエストのためのあなたのjavascriptがなるjqueryのスクリプトを参照(スクリプトタグ)を添加した後http://jquery.com/

でそれをダウンロードすることができます。

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

としても「insert_salary.php」を使用していることを念頭に置いておきますurlは相対パスであり、現在実行中のスクリプトのフォルダ内になければなりません。

あなたのPHPスクリプトはあなたの現在の給料タグにも注入したいものをエコーする必要があります。

+0

うわー、簡単!それはうまく動作し、私の唯一の問題は、それはdivに応答を表示doesntです... – Liam

+0

ええと、私はそれを編集する前に私を捕まえた。 :)あなたはあなたのdivタグで好きなものをエコーするPHPが必要です。 – James

+0

もし私が 'echo $ monthly_income;' return $ resultの下でうまくいくはずですか?しかし、何らかの奇妙な理由ではありません... @james – Liam

関連する問題