PHP MYSQL,简单通知

can someone help me how to get rid the counts or number on notification after I read or open it... I hope you understand, sorry if its vague and to my bad English tho. Just here my sample codes..

/index.php

   <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">

function addmsg(type, msg){

$('#notification_count').html(msg);

}

function waitForMsg(){

$.ajax({
type: "GET",
url: "select.php",

async: true,
cache: false,
timeout:50000,

success: function(data){
addmsg("new", data);
setTimeout(
waitForMsg,
1000
);
},
error: function(XMLHttpRequest, textStatus, errorThrown){
addmsg("error", textStatus + " (" + errorThrown + ")");
setTimeout(
waitForMsg,
15000);
}
});
};

$(document).ready(function(){
waitForMsg();
});
</script>



</head>

<body>

    <span id='notification_count'></span>
<a href="notificationview.php" id="notificationLink" onclick = "return getNotification()">Notifications</a>
<div id="HTMLnoti" style="textalign:center"></div>


<br>
<p style="font-weight: bold; font-size: 20px; font-family: Tahoma;">Admin panel</p>
<form action="index.php" method="post">
<input type="text" required name="notification" autofocus="on" autocomplete="off">
<br>
<br>
<input type="text" name="status" value="unread" style="display: none;">
<input type="submit" name="btnsub" value="Submit">
</form>

and then my /select.php where why my notification counts..

 <?php
       $servername = "localhost";
       $username = "root";
       $password = "";
       $dbname = "messageTest";

       // Create connection

       $conn = new mysqli($servername, $username, $password, $dbname);

       // Check connection

       if ($conn->connect_error) {

           die("Connection failed: " . $conn->connect_error);

       } 

       $sql = "SELECT * from messageTest where status = 'unread'";
       $result = $conn->query($sql);
       $row = $result->fetch_assoc();
       $count = $result->num_rows;
       echo $count;
       $conn->close();
?>

please! all I want is get rid of the counts on the notification after the user open or read it. Thanks!

my database name = "messageTest" my database table = "messagetest" inside my table =

id notification status

If you don't want to show the count if there are no unread values, you simply don't show it. Easy as that.

if ($count > 0) {
    echo $count;
} else {
    // Do nothing
}

You may also want to consider checking out some basic programming tutorials.

When you are displaying the notification count:

$count = $result->num_rows; echo ($count > 0) ? $count : 0;

Now call the addmsg function only when the count is not == 0 meaning there actually are some unread notifications.

success: function(data){
  if(data >0){ // unread notification
        addmsg("new", data);
    }
setTimeout(
waitForMsg,
1000
);
}

Now your notification link has a

onclick = "return getNotification()"

You would not need the return keyword. You can now have the ajax function as:

function getNotification(){

$.ajax({
type: "GET",
url: "notification.php",

success: function(data){
},
error: function(XMLHttpRequest, textStatus, errorThrown){
addmsg("error", textStatus + " (" + errorThrown + ")");
}
});
};
Now your notification.php should handle the update query by something like:

//Connection part 

$sql = "UPDATE messageTest Set status = 'unread'";
       $conn->query($sql);
       echo 1;
       $conn->close();

However, there is a lot more efficient way to handle this, just trying to fit the code you already have in place. You would not need separate pages for each ajax call. You can create all of them in a single file and create different functions. Try searching for php ajax notification example.

</div>