Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将本地存储阵列存储到MySQL数据库中?_Php_Jquery_Mysql_Html_Local Storage - Fatal编程技术网

Php 如何将本地存储阵列存储到MySQL数据库中?

Php 如何将本地存储阵列存储到MySQL数据库中?,php,jquery,mysql,html,local-storage,Php,Jquery,Mysql,Html,Local Storage,我当前正在使用localstorage存储当前用户访问过的页面: <?php //start the session session_start(); //set $username as the current logged in user $username=$_SESSION["Username"]; ?> 目前,这是一个临时存储,但我也想让他们选择保存他们的旅程 如何将单个URL与用户ID(已存储在数据库中)一起保存到MySQL数据库中?e、 g.带有“URL”和“Use

我当前正在使用localstorage存储当前用户访问过的页面:

<?php
//start the session 
session_start();
//set $username as the current logged in user
$username=$_SESSION["Username"];
?>
目前,这是一个临时存储,但我也想让他们选择保存他们的旅程


如何将单个URL与用户ID(已存储在数据库中)一起保存到MySQL数据库中?e、 g.带有“URL”和“UserID”列的表名“Travely”。

为此,您需要对服务器进行Ajax调用。您需要发出一个Ajax请求,您可以使用Jquery这样做。然后需要一种服务器端语言(如php)来处理请求并将其插入数据库

这里有一个对php文件执行AJAX调用以插入数据库的示例。请注意,这不是在生产环境中执行此操作的方式。然而,这是一个很好的教程来理解这个过程

编辑

根据你下面的评论,我将进一步解释。上面的例子做了您想做的事情。目前,您的数据位于“客户端”计算机上的javascript中。您希望将其传输到mysql数据库

为此,您将使用JQuery或Javascript发送数据。在本例中,他们在HTML部分的
标记中使用Javascript。此javascript代码用于将数据发送到php文件,php文件在此行接收数据php函数然后将该数据插入数据库


在本例中,他们使用
GET
来实现这一点。您可能需要执行
POST
请求。值得您查找。

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脚本,它根据表中是否存在引用用户的记录来执行这些查询

类似这样的jQuery AJAX函数将调用脚本并保存过程:

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

本教程很有用,但它只展示了如何使用php/mysql将数据发送到html页面,但我需要以另一种方式发送:html/jquery到php/mysql。@user1199649我已更新了我的答案以反映您的评论。php中的“$journeyUrl”变量来自何处?它可以与AJAX查询一起传递,我忘了把它加进去,但现在它被编辑以反映这一点。
$.ajax({
    type: "POST",  
    url: "savejourney.php",  
    data: { id : userid, url : journeyUrl },
    dataType: "json", 
    success: function(data) {
        if(data) {
            alert("Journey saved sucessfully!");
        }
    }  
});