2011-10-17 11 views
1

可能性の重複:
Update database info with onclick button機能とPHP

私はデータベースを照会し、その中にPHPで関数を呼び出すonclickのボタンがあります。コードは別々に正常に動作しますが、一緒には何もしません。いくつかの答えを調べた後、私はクエリデータベースコードを別のPHPファイルに配置しなければならず、何らかの形でそのファイルをonclickというユーザーで呼び出す必要がありますか?それが最善の選択肢ですか、もしそうなら、誰かが私がonclickボタンからPHPデータベース参照ファイルを呼び出す方法の例を提供できますか?前もって感謝します。

<div onClick="newUser();" 
style="position:absolute;display: block; cursor:pointer; top: 100px; left: 600px;"> 
<img src="assets/invite.png"> 
</div> 



<head> 
<script type="text/javascript"> 
<?php  
function newUser(){ 
// Make a MySQL Connection 
$me = json_decode(@file_get_contents('https://graph.facebook.com/me?access_token=' . $cookie['access_token'])); 
$uid = $me->id; 
echo "$uid"; 

$hostname=""; 
$username=""; 
$password=""; 
$dbname="mpsuserdata"; 
$usertable="userdata"; 
$connection = mysql_connect($hostname, $username, $password); 
mysql_select_db($dbname, $connection) or die ("Could not connect"); 
mysql_query("INSERT INTO userdata 
(id, name, startdate, enddate, shop) VALUES('11111111' , 'UK', '$startdate' , '$enddate' , 'test') ") 
or die(mysql_error()); 
echo "Data Inserted!"; 
      } 
?> 
</script> 
+0

コードを入力できますか?あなたはJavaScriptの中に直接PHPコードを組み込もうとしているように思えますし、あなたが望む結果を得ることができません。その場合、Ajaxを使用して必要なデータを返す必要があります。 – AndrewR

+0

Andrew。新しいユーザーであるため、まだコードを送信できません。私はあなたのAjaxのリファレンスが正しいと思います、私はデータベースを更新するだけなので、私はJavaScriptからPHPを呼び出す方法を知る必要がありますか?御時間ありがとうございます。 – user984689

+0

あなたの質問を編集し、あなたの質問に関連するコードの部分を貼り付けてください。** IN ** question box。 – ariefbayu

答えて

0

これはAjaxのポストを介して行うことができますが/

AJAXはあなたのために非常に簡単な解決策..ですlink

3

使用AJAXを通過してくださいより多くの方法を取得します。ボタンクリックイベントにJavaScript機能を追加することができます。 とjquery.ajax関数を呼び出してください。データベースのクエリを実行するためにPHPページを使用できるようになりました。

function ajaxfunc() 
{ 
     jQuery.ajax({ 
      type: "GET", 
      url: "query_page.php", 
      data: "queryfields", 
      success: function(html){ 
      // data you want to return on. 
      } 
     }); 

} 

これはあなたを幸せで満足させると思います。

+0

+1すばらしい例の素晴らしい説明。 –

+0

@Paresh Mayani:ありがとう:) – Chandresh

+0

多くのありがとう。完璧に動作します! – user984689