jquery - 使用 InstantEdit 2.0 JS 内联编辑 mysql 数据

标签 jquery mysql inline edit

我正在尝试在我的 php 页面上内联编辑 mysql 数据。 我正在使用找到的示例脚本:here

我的所有代码都显示在这个问题下方。

浏览ajaxtest.php时,表数据显示正确。单击表格数据时,我可以对其进行编辑。但是当单击保存数据时,数据更改为“false”

有什么想法为什么会发生这种情况吗?它与 update.php 上的 header 有关吗?

这是我的 mysql 表代码:

我创建了一个表格,如下所示:

CREATE TABLE IF NOT EXISTS `tblInLineEdit` (
  `id` int(6) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
  `descr` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;

--
-- Dumping data for table `tblInLineEdit`
--

INSERT INTO `tblInLineEdit` (`id`, `name`, `descr`) VALUES
(1, 'carl', 'developer'),
(2, 'angela', 'administration');

然后我创建了两个页面:ajaxtest.php 和 update.php。代码如下:

ajaxtest.php

<? 
$db_user = "username";
$db_pass = "password"; // password here
$db = "database";
$host = "localhost";
$link = mysql_connect($host,$db_user,$db_pass) or die("Database connection broken");
mysql_select_db($db,$link) or die("Database connection unavailable – ".mysql_error() );
$result = mysql_query("SELECT * FROM tblInLineEdit");
//$row = mysql_fetch_assoc($result); 
?>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="instantedit.js"></script>
<table>
<? while ($row = mysql_fetch_assoc($result)) { ?>
<tr>
<td><span id="name-|||-<?php echo $row['id']; ?>" class="editText"><? echo $row['name']; ?></span></td> 
<td><span id="descr-|||-<?php echo $row['id']; ?>" class="editText"><? echo $row['descr']; ?></span></td> 
</tr>
<?php } ?>
</table>

更新.php

<? 
header("Expires: Mon, 26 Jul 2014 05:00:00 GMT"); // Date in the past
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // always modified
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0"); // HTTP/1.1
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache"); // HTTP/1.0

$db_user = "user";
$db_pass = "password"; // password here
$db = "database";
$host = "localhost";
$link = mysql_connect($host,$db_user,$db_pass) or die("Database connection broken");
mysql_select_db($db,$link) or die("Database connection unavailable – ".mysql_error() );
$content = $_GET['content'];
list($fieldname, $id) = explode("-|||-",$_GET['fieldname']);
mysql_query("UPDATE tblInLineEdit SET $fieldname = ‘$content’ WHERE id = $id ") or die("blah failure – ".mysql_error() );
$result = mysql_query("SELECT * FROM tblInLineEdit WHERE id = $id");
$row = mysql_fetch_assoc($result);
echo $row["{$fieldname}"]; 
?>

关于为什么它返回 false 有什么想法吗?

感谢您提前提供的帮助。

或者有人可以推荐一个易于实现的轻量级 mysql 内联编辑器吗?

一如既往地感谢。

最佳答案

尝试调试您的客户端脚本。使用 Firebug 或 Chrome 的开发者工具来查看产生的错误。您的链接在我的浏览器中加载页面时产生以下错误:

该页面似乎不存在。

我不确定您想要实现什么目标。但如果这是实际项目的早期阶段,我建议考虑进行更多研究。也许对面向服务架构的一些研究可以对你有很大帮助。您可以想到的最佳实践之一是使用 Zend Framework 的 JSON 服务器。我本人开发了一个框架,如果您的项目规模变得更大,它可能对您有用。它的名字叫Pomegranate ,也许你想看一下。

关于jquery - 使用 InstantEdit 2.0 JS 内联编辑 mysql 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11516909/

相关文章:

php - 来自两个表的Mysql请求与计数

mysql - 如何获得包含所有已定义类别名称的数组?

c++ - 为什么不能将 static constexpr 成员变量传递给函数?

c++ - 内联虚函数

javascript - jQuery 数字计数器

jquery - Typeahead.js - 填充数据集

c# - 单击时更改颜色 <a> (asp.net mvc 4 visual studio 2012)?

javascript - 使用 Fullpage.js 和 scrolloverflow.js 禁用内容链接

MySQL左连接查询语法错误

c++ - 行内说明符