0

我用 jquery 制作了一个非常简单的购物清单,代码如下:

$(document).ready(function(){
$('.project-btn').click(function(e){
e.preventDefault();

var project = $('.project-val').val();

$('<li></li>').addClass(project).text(project).appendTo('.project-list');

});
});

http://jsfiddle.net/DQxE7/ 一切正常,但是当我重新加载页面时,我附加的所有内容都消失了。我想保存附加的元素,因此如果其他人访问网站,他们可以将我添加到列表中的内容。

如何使用 php 或 mysqli 将此类信息保存到数据库中?我可以将元素保存为字符串,然后通过 PHP 回调该字符串吗?

我在谷歌上查了一下,但我什么也没得到,这就是我在这里问它的原因。

我不需要如何做的代码只是如何去做,谢谢!

4

3 回答 3

2
$(document).ready(function(){
$('.project-btn').click(function(e){
e.preventDefault();

var project = $('.project-val').val();

$('<li></li>').addClass(project).text(project).appendTo('.project-list');

var elem={};
elem.str='<li class="'+project+'">'+project+'</li>';

$.ajax({

 url: 'path/to/your/phpscript.php',
 data: elem,
 type: 'POST',
 success: function(response)
 {
   //do whatever you like
 }

 })//end of ajax call

});
});

phpscript.php

<?php

define('DB_NAME', 'your schema/database name');
define('DB_USER', 'your db user name');
define('DB_PASSWORD','password');
define('DB_HOST', 'localhost');

$link=mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD);

if(!$link)
{
 die('Could not connect: '.mysqli_error());
}

  $db_selected= mysqli_select_db($link,DB_NAME);

if(!$db_selected)
{
  die('Cant use : '.mysqli_error());
}

 $sql="insert into yourtable values('$_POST[str]')";

 mysqli_query($link,$sql);

 mysqli_close($link);

  ?>
于 2013-10-24T07:17:21.740 回答
1

您可以在数据库中拥有一个名为 Project 的表。每次您在项目列表中添加内容时,也会使用 Ajax 将“项目”的详细信息发送到您的数据库。

然后每次您的页面加载时都会向您的服务器发出 Ajax 请求并获取 Project 表的行。然后,您可以使用 jQuery .each ( http://api.jquery.com/jQuery.each/ ) 并构建您的 DOM,这样无论何时何人打开您的网站,它都会被更新。

希望能帮助到你!

于 2013-10-24T07:12:58.103 回答
1

将完整的 HTML 存储为琐碎且易于完成的事情可能并不是一个好主意。

我要做的是,将“项目列表”中的所有项目存储到 sql 数据库中,然后填充从数据库中读取值的列表。当你点击一个按钮时,你可以通过Ajax在db中插入一个新值,然后根据返回的值判断插入是否成功,然后在客户端创建元素。使用该页面的其他用户无论如何都会从表中读取列表以填充他们的列表版本,因此它也会为他们的目的而更新。

于 2013-10-24T07:24:14.160 回答