我尝试通过单击我的页面上的阅读按钮来更新我下午的messes状态。所以我在这个网站上找到了一些解决方案,但它并不适合我。使用onClick更新数据库
我使用AJAX的HTML按钮之前:
<script type="text/javascript">
function setRead(){
$.ajax({
type: "POST",
url: "update_pm_status.php",
data: { name: $("select[name='gelesen']").val()},
success:function(msg) {
alert("Data Saved: " + msg);
}
});
}
</script>
按钮的样式CSS和使用它自己的JavaScript来切换内容(开/关) ,所以我想通过打开更新状态消息
<span class="toggleOpen" onclick="setRead()"><input type="hidden" method="post" name="gelesen" value="<?php echo $row['id']; ?>">lesen</span>
所包括的位点是
<?php
ini_set('include_path', 'inc');
require("connect.php");
{
$id = $_POST['id'];
$sql = "UPDATE
PMS
SET
gelesen = 'yes'
WHERE id = '".mysql_real_escape_string($id)."' AND gelesen = 'no'";
mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
}
但我总是得到未定义变量'id'的通知。 我如何将这个变量提供给包含的网站?
,因为我必须要耐心等待8小时,然后我可以回答我编辑自己的帖子:
感谢您的答案,但我仍然得到一个未定义指数的消息:所以变量不postet命名 我update_pm_staus.php IHAVE更新我的脚本是:
<script type="text/javascript">
功能setRead(){$ 阿贾克斯({ 类型: “POST”, 网址: “update_pm_status.php”, data:{id:$(this).children(“[name ='gelesen']”)。val()}, 成功:function(msg){ alert(“Data Saved: “+ msg); } }); }
和update_pm_status.php这样:
ini_set('include_path', 'inc');
require("connect.php");
$id = $_POST['name'];
$sql = "UPDATE
PMS
SET
gelesen = 'yes'
WHERE id = '".mysql_real_escape_string($id)."' AND gelesen = 'no'";
mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
我也改变了我的HTML像这样希望把它的工作。
<span class="toggleOpen" onclick="setRead()" input type="hidden" method="post" name="gelesen" value="<?php echo $row['id']; ?>">lesen</span>
对不起,我upvoted,但后来意识到没有'select'?将它更新为'data:{id:$(this).children(“[name ='gelesen']”).val()},'这可以从几个'read'按钮中调用 –
谢谢@RobSchmuecker,I做出了改变! –