У меня есть этот код jQuery, который должен только показывать предупреждение для нового сообщения, когда запись найдена в базе данных.jQuery Code работает независимо от того, что
index.html (JQuery код)
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script>
$(document).ready(function(){
var count = 0;
setInterval(function() {
$.post("messagecheck.php", { countOld: count },
function(data){
if(data == 0) {
alert("No New Messages");
return;
} else {
count = data; // This will change the count for each run, you could store this in div with .data() ...
alert("New Message!");
return;
}
});
}, 1000);
});
</script>
messagecheck.php
<?php
if($uid == 0) {
die(); // not logged in
} else {
$sql = 'SELECT messagecount FROM Users WHERE uid = $uid AND messagecount >= 1';
$result = mysql_query($sql);
if(!$result) {
// Kill SQL and return error
} else {
// We will be sending an Old Count via POST
$numRows = mysql_num_rows($result);
echo $numRows;
if($numRows == $_POST['countOld']) {
// No change
echo 'No change: 0';
} else
echo $numRows;
}
}
?>
Даже если $ UID является 0 (пользователь не вошел в систему) предупреждение для New Сообщение! показывает.
Что можно сделать, чтобы исправить это?
Спасибо.
Я изменил это сейчас, но по-прежнему та же проблема, я даже удалил весь код PHP раньше и новое сообщение! предупреждение все еще отображается. – Koala
Попробуйте выполнить 'console.log (data)', чтобы увидеть, что возвращается. –
@ user1626410: Похоже, у вас также есть код на стороне сервера, который не возвращает никакого значения. Проверьте фактические значения, возвращаемые вашим серверным кодом, и используйте эти фактические значения в условном условном выражении на стороне клиента. В настоящее время они не совпадают. – David