清除通知,点击/切换()
Clearing notification onclick/toggle()
所以我设置了一个通知系统,除了我要清除通知外,它都工作得很好。当div打开时,它会清除,但如果我在没有打开div的情况下刷新页面,它也会清除,我不希望在用户打开通知div之前清除通知。我该怎么做呢?
任何能给我指出正确方向的人或帮助,我将不胜感激
谢谢我一直在使用这行代码来清除通知
<?php user_core::clear_notifications($user1_id); ?>
这个代码是OnClick toggle()
<div class="alert_header_item_container">
<a onclick="toggle('alert_dropdown');">
<div class="alert_header_item" id="alerts"></div>
<?
$sql = "SELECT * FROM notifications WHERE notification_targetuser=".$user1_id." AND notification_status = '1'" ;
$chant= mysqli_query($mysqli,$sql);
$num = mysqli_num_rows($chant);
if($num==1) {
echo '<div class="alert_header_item_new" id="alerts"></div>';
} else {
echo "";
}
?>
</a>
您遇到的问题是 this
:
PHP不加载或执行Javascript。这是一份订单执行:
- 用户从web服务器请求数据。
你的web服务器执行你的PHP脚本,输出一些HTML/Javascript。- web服务器向用户的浏览器发送HTML/Javascript。
- 用户浏览器呈现HTML并执行Javascript。是的,PHP会
基本上你的PHP
甚至在你切换onclick
事件之前就完成了。
你真正想做的是这样的:
像这样构造你的HTML
。
<div class="alert_header_item_container">
<a id="read-notifications">
<div class="alert_header_item" id="alerts"></div>
</a>
</div>
现在我们将运行一个ajax请求(当文档加载时)来获取通知
$(document).ready(function(){
$.ajax({
type: 'post',
url: 'notifications.php',
data: {id: user_id},
}).success(function(data){
$('alerts').html(data);
});
});
它将调用notifications.php
,而您将运行php/sql
来获取通知:
<?php
$user1_id = $_POST['id']; // then sanitize as needed
$sql = "SELECT * FROM notifications WHERE notification_targetuser=" . $user1_id . " AND notification_status = '1'";
$chant = mysqli_query($mysqli, $sql);
$num = mysqli_num_rows($chant);
if ($num == 1) {
while($row = mysqli_fetch_assoc()){
// make notifications markup
}
echo MARKUP_FROM_ABOVE
}
?>
对于onclick
事件,您可以这样做(到一个单独的php文件,该文件将更新通知以将其设置为read(这可能是 0
?)):
$(document).on('click', 'a#read-notifications', function(e) {
$.ajax({
type: 'post',
url: 'readnotifications.php',
data: {id: user_id},
}).success(function(data) {
// do what you need to do as notifications were read.
});
});
在readnotifications.php
上,您将运行sql query
,将$_POST['id']
(用户id)的通知更新为 0
(read)。
相关文章:
- 按钮点击Bootstrap,如何切换导航类
- 单击或点击切换HTML文本
- 如何使用Angular2在点击时切换选项卡和更改css类
- 如何在应用切换点击功能之前,默认情况下在页面加载时隐藏带有特定类的ul-li
- jQuery切换了Firefox中所需的两次点击
- 点击一定数量的切换后,地图标记会消失
- 我如何向这个脚本添加一个点击按钮循环URL函数(按给定顺序在URL之间切换),或者这可能吗
- jquery切换不可点击
- 防止Jquery.click切换函数因过度点击而反复运行
- 点击切换Divs/JavaScript语法
- 有没有比这更有效的方法可以在点击时切换多个类
- 不是语言切换专家点击智能表单需要提示
- 一页网站上的启动切换菜单在点击时不会失效
- 在angularjs中切换点击按钮文本的值
- 汉堡包菜单不能切换/点击
- 试图隐藏/显示/切换点击功能
- jquery -切换点击功能,不工作在单一点击.但它可以在双击
- 切换点击
- AJAX和jQuery切换/点击状态(重置状态)
- 如何切换.点击更容易