我正在尝试在我的 php 页面上对 mysql 数据进行内联编辑。我正在使用找到的示例脚本:here
我所有的代码都显示在这个问题下面。
在浏览到 ajaxtest.php 时,表格数据显示正确。单击表格数据时,我可以对其进行编辑。但是当点击保存数据更改为“假”
有什么想法为什么会这样吗?它与 update.php 上的标题有关吗?
这是我的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}"];
?>
关于为什么它返回错误的任何想法?
提前感谢您的帮助。
或者,任何人都可以为 mysql 推荐一个易于实现的轻量级内联编辑器吗?
一如既往地感谢。