2012-04-17 19 views
0

I現在、現在のユーザーが訪問した何ページ保存するためのlocalStorageを使用しています:localstorage ArrayをMySQLデータベースに格納する方法は?

<?php 
//start the session 
session_start(); 
//set $username as the current logged in user 
$username=$_SESSION["Username"]; 
?> 

はJQuery:

var journey = JSON.parse(localStorage.getItem('journey'))||[]; 
journey.push(location.protocol + 
'//' + location.host + location.pathname); 
localStorage.setItem('journey', JSON.stringify(journey)); 

現在、これは一時的な記憶であるが、しかし、私はまた、彼らに選択肢を与えたいと思うでしょう彼らの旅を救うために。

ユーザーID(データベースに既に格納されている)と共にMySQLデータベースに個々のURLを保存するにはどうすればよいですか?例えば列「URL」と「UserID」を含む表名「Journey」。

答えて

1

MySQLの旅テーブル:

CREATE TABLE journey (
    userId INT NOT NULL, 
    journeyUrl VARCHAR(200) NOT NULL, 
    PRIMARY KEY(userId, journeyUrl), 
    FOREIGN KEY(userId) REFERENCES userTable(userId)   
); 

挿入旅クエリ:

$insert_query = "INSERT INTO journey (userId, journeyUrl) VALUES ({$userId} , '{$journeyUrl}');"; 

更新の旅クエリ1がすでに存在している場合:

$update_query = "UPDATE journey SET journeyUrl = '{$journeyUrl}' WHERE userId = {$userId};"; 

をPHPスクリプトは、エコーう終了時に結果がブール値になります。

echo json_encode($result); 

あなたは既にユーザーを参照するテーブル内のレコードがあるかどうかに基づいて、これらのクエリを実行するPHPスクリプトを持っているでしょう:保存真の手段が節約成功で、虚偽の手段が失敗でした。

スクリプトを呼び出し、旅節約になるので、のようなjQueryのAJAX機能:

$.ajax({ 
    type: "POST", 
    url: "savejourney.php", 
    data: { id : userid, url : journeyUrl }, 
    dataType: "json", 
    success: function(data) { 
     if(data) { 
      alert("Journey saved sucessfully!"); 
     } 
    } 
}); 
+0

PHPの$ journeyUrl変数はどこから来たのですか? – user1199649

+0

これはAJAXクエリと一緒に渡すことができますが、追加するのを忘れましたが、それを反映するように編集されています。 – gimg1

1

あなたはそれのためにサーバにAjaxコールをしたいと思うでしょう。 Ajaxリクエストを作成する必要があります.Jqueryを使用してリクエストできます。リクエストを処理してデータベースに挿入するには、phpなどのサーバー側言語が必要です。

データベースに挿入するPHPファイルへのAJAX呼び出しを実行する例があります。hereこれは、プロダクション環境で行う方法ではないことに注意してください。しかし、それはプロセスを理解する良いチュートリアルです。私はさらに説明します下のあなたのコメントに基づいて

EDIT

。上記の例はあなたがしたいことをします。現在、あなたのデータは "クライアント"マシンのjavascriptにあります。あなたはそれをmysqlデータベースに転送します。

これを行うには、JQueryまたはJavascriptを使用してデータを送信します。この例では、HTMLセクションにある<script> </script>タグのJavascriptを使用しています。このjavascriptコードは、この行で受け取るPHPファイルにデータを送信するために使用されます$q=$_GET["q"]; php関数は、このデータをデータベースに挿入します。

この例では、これを達成するためにGETを使用しています。おそらくPOSTリクエストを実行したいと思うでしょう。あなたはdifference between the twoを調べる価値があります。

+0

、このチュートリアルでは便利ですが、それが唯一のhtmlページにPHP/MySQLを使用してデータを送信する方法を示していますが、私がする必要がそれを他の方法で送ってください:html/jqueryからphp/mysqlへ。 – user1199649

+0

@ user1199649私はあなたのコメントを反映するために私の答えを更新しました。 – Aidanc

関連する問題