2012-01-14 24 views
0

したがって、データをデータベースに送信しています。送信される各データには、自動インクリメントされるIDが含まれます。 ajaxやPHP(私は非常にこれに新しいし、私はそれがいくつかのPHPと一緒にajaxだと確信して学んでいる)私は送信されたデータのIDを取得する必要があります。送信したデータのデータベースからIDを取得する

フォームが送信された後、ユーザーは送信されたページにリンクを戻します。例:

引用が提出されました! [リンク]クリックするとリンクに戻るか、戻ることができます。

リンクは次のようになります。http://example.com/quote-192 私はかなり他のすべてのセットを持って、私はちょうど私がIDを取得します方法を知っているとのリンクに追加しないでください。ここで

は、フォームを処理するPHPです:

require('inc/connect.php'); 


    $quote = $_POST['quote']; 
    $quotes = mysql_real_escape_string($quote); 

    //echo $quotes . "Added to database"; 

    mysql_query("INSERT INTO entries (quote) VALUES('$quotes')") 
    or die(mysql_error()); 

ああ、およびデータは、Ajaxで送信されています:

$(document).delegate("'#submit-quote'", "submit", function(){ 
     var quoteVal = $(this).find('[name="quote"]').val(); 
     $.post("add.php", $(this).serialize(), function() { 
      var like = $('.quote-wrap span iframe'); 
      $('.inner').prepend('<div class="quote-wrap group">' + like + '<div class="quote"><p>' + quoteVal+ '</p></div></div>'); 
      // console.log("success"); 

     }); 
     return false; 
    }); 

は、どのように私は、各引用のためのIDを取得し、追加しますフォームが提出された後、それをページに表示しますか?

答えて

1

あなたのところでは:

echo mysql_insert_id($result) 

は、その後、あなたのjqueryのAJAXに:私は警告したとき

$.ajax({ 
type:'post', 
url:'url.php', 
data:querystring, 
success:function(data){ 
    var id = parseInt(data); 
} 
]); 

これはあなたがjavascriptの

+0

私はAJAXにとって本当に新しいです。私が使用しているコードでこれをどのように動作させることができますか? – nowayyy

+0

私が書いた方法は、jQueryを実行する長い形式の方法です。シリアライズ文を「クエリ文字列」のある場所に追加して、コールバックを成功関数の位置に追加することができます。 http://api.jquery.com/jQuery.ajax/これを読んでより意味があるかどうかを確認してください。 – Ethan

0

このphp関数を使用します。挿入後に電話をかけることができます。

int mysql_insert_id ([ resource $Verbindungs-Kennung ]) 

mysql_insert_id

0

PHPは、要求に対する応答としてIDを印刷しておいてください。

mysql_query("INSERT INTO entries (quote) VALUES('$quotes')") 
    or die(mysql_error()); 

// Print the id of last insert as a response 
echo mysql_insert_id(); 

jQueryの、テスト

としてPHPによってエコーされたものを警告するためのテストコード
// add data as a param to the function to have access to the PHP response  

$.post("add.php", $(this).serialize(), function(data) { 
    alert(data); 
}); 
+0

で作業することができます整数値として挿入されたIDを返します、私はNaNに – nowayyy

+0

編集を得る:とき、私警告、私はparseIntでNaNを取得します。私がparseIntを使用しないと、アラートにはHTMLが混乱していることが表示され、PHPにエラーが表示されます。 – nowayyy

関連する問題