2

現在、localstorageを使用して、現在のユーザーがアクセスしたページを保存しています。

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

現在、これは一時的なストレージですが、私は彼らに彼らの旅を保存するオプションも与えたいと思います。

個々のURLとユーザーのID(すでにデータベースに保存されている)をMySQLデータベースに保存するにはどうすればよいですか?たとえば、テーブル名「Journey」と列「URL」および「UserID」。

4

2 に答える 2

2

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}' );";

ジャーニークエリがすでに存在する場合は、次のように更新します。

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

phpスクリプトは、結果がブール値である最後に結果をエコーし​​ます。Trueは保存が成功したことを意味し、Falseは保存が失敗したことを意味します。

echo json_encode($result);

テーブルにユーザーを参照しているレコードがあるかどうかに基づいて、これらのクエリを実行するphpスクリプトがあります。

そのようなjQueryAJAX関数は、スクリプトを呼び出して、旅を保存します。

$.ajax({
    type: "POST",  
    url: "savejourney.php",  
    data: { id : userid, url : journeyUrl },
    dataType: "json", 
    success: function(data) {
        if(data) {
            alert("Journey saved sucessfully!");
        }
    }  
});
于 2012-04-17T14:19:50.887 に答える
1

そのためにサーバーに対してAjax呼び出しを実行する必要があります。Ajaxリクエストを作成する必要があります。これは、Jqueryを使用して行うことができます。次に、リクエストを処理してデータベースへの挿入を行うために、phpなどのサーバー側言語が必要になります。

ここに、phpファイルへのAJAX呼び出しを実行してデータベースに挿入する例があります。これは、実稼働環境で行う方法ではないことに注意してください。ただし、プロセスを理解するのは良いチュートリアルです。

編集

以下のコメントに基づいて、さらに説明します。上記の例は、あなたがやりたいことをします。現在、データは「クライアント」マシンのjavascriptにあります。それをmysqlデータベースに転送したいとします。

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

この例では、GETこれを実現するためにを使用しています。POSTおそらくリクエストを実行することをお勧めします。2つの違いを調べることはあなたの価値があります。

于 2012-04-17T14:09:34.813 に答える