我是说,我试着把网页链接改成something.com/newpage.php?id=123...的样子。
我所拥有的是一个表单,以及一个在加载时运行AJAX的JavaScript函数:
$.ajax({
type: "POST",
url: "postear.php",
data: "addcontentbox=" + addcontent,
success: function() {
$("ul#wall").prepend("<li><a href='newpage.php?id=<?php echo $rows['id']; ?>' target='_blank'>"+addcontent+"</a></li>");
$("ul#wall li:first").fadeIn();
document.postbar_add_post.addcontent.value='';
$('form#postbar_add_post input[type="submit"]').removeAttr('disabled');
}
});这是在url上调用的PHP函数:
<?php
if(isset($_POST['addcontent']))
{
// Connection to Database
include('config.php');
// No Query Injection
$message = mysql_real_escape_string($_POST['addcontent']);
// echo
$sql = 'INSERT INTO test.wall (message) VALUES("' . $message . '")';
$result = mysql_query($sql);
$rows = mysql_fetch_array($result);
mysql_query($sql);
echo $message;
}
else
{
echo '0';
}
?> 此外,我还尝试在那里放置一个_GET id。但是什么都没有。
有什么帮助吗?
pd:数据库是:
CREATE TABLE `test`.`wall` (
`id` INT( 6 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`message` VARCHAR( 255 ) NOT NULL
) ENG发布于 2011-09-25 07:34:23
首先,您需要更改此行
success: function() {
$("ul#wall").prepend("<li><a href='newpage.php?id=<?php echo $rows['id']; ?>' target='_blank'>"+addcontent+"</a></li>");至
success: function(data) {
$("ul#wall").prepend("<li><a href='newpage.php?id="+data+" target='_blank'>"+addcontent+"</a></li>");在php文件中,而不是下面这三行
$rows = mysql_fetch_array($result);
mysql_query($sql);
echo $message;你应该写
echo mysql_insert_id();当然,您必须首先将数据库中的id fild设置为自动递增
改变这一点也无伤大雅
$sql = 'INSERT INTO test.wall (message) VALUES("' . $message . '")';至
$sql = "INSERT INTO test.wall (`message`) VALUES('$message')";我的意思是这样更容易
发布于 2011-09-25 06:30:54
我非常确定您需要调用mysql_insert_id而不是mysql_fetch_array。也就是说,您还没有从mysql中调出自动增量ID (这是在假设您的墙面上有一个自动增量主键。?)
https://stackoverflow.com/questions/7542282
复制相似问题