将追加的元素保存到数据库


Saving appended elements to database

我用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/一切正常,但是当我重新加载页面时,我附加的所有内容都会消失。我想保存apped元素,这样如果其他人访问该网站,他们可以将我添加到列表中的内容。

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

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

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

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

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

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

希望对您有所帮助!

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

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