Я не буду делать уведомление, которое уведомляет пользователя о количестве новых предметов с момента его последнего посещения.
У меня есть код, который делает именно это, но есть проблема, если пользователь обновляет страницу или переходит на другую страницу в том же домене и возвращается, число равно 0. Мне нужен способ, чтобы указать число новые элементы остаются прежними, пока пользователь не закроет окно или не истечет время сеанса.
Код в настоящее время делает следующее:
<?php
$result = mysqli_query($con, "SELECT na_id from NALOG;");
$row_cnt = mysqli_num_rows($result);
printf("U bazi su trenutno %d naloga.\n", $row_cnt);
// takes the number of curent DB state
printf("<script type='text/javascript'>
$.cookie('".$_SESSION['username_login']."');
var logstari = $.cookie('".$_SESSION['username_login']."');
// reads old coocke vale and sets is as varibale
$.cookie('".$_SESSION['username_login']."', '%d');
var log = $.cookie('".$_SESSION['username_login']."');
//sets new state count as new cookie and varible
var razlika = log - logstari;
// makes caluclation of diference
toastr.info(razlika + ' novih naloga od tvog zadnjeg posjeta'):
//lets the notification out
</script>", $row_cnt);
?>
Я также пробовал так:
<?php
$result = mysqli_query($con, "SELECT na_id from NALOG;");
$row_cnt = mysqli_num_rows($result);
printf("U bazi su trenutno %d naloga.\n", $row_cnt);
printf("<script type='text/javascript'>
$.cookie('".$_SESSION['username_login']."');
var logstari = $.cookie('".$_SESSION['username_login']."');
var log = ".'%d', $row_cnt.";
var razlika = log - logstari;
toastr.info(razlika + ' novih naloga od tvog zadnjeg posjeta');
$.cookie('".$_SESSION['username_login']."', '%d');
</script>", $row_cnt);
?>
Где я пытался установить var log = ".'%d', $row_cnt.";
новый номер журнала прямо из php но как только я пытаюсь экранировать значение PHP и вставить его в переменную JS, оно не работает, и я получаю ошибку printf(): Too few arguments
. Если каким-то образом я смогу выполнить эту работу, я думал в последней строке установить нового повара ie с новым счетом ТОЛЬКО после истечения сеанса или закрытия окна, если это возможно.
Не уверен, как решить эту проблему, поэтому любая помощь или руководство присваиваются.
РЕДАКТИРОВАТЬ:
Мое последнее достижение, все еще теряет значение после refre sh.
<?php
$result = mysqli_query($con, "SELECT na_id from NALOG;");
$row_cnt = mysqli_num_rows($result);
printf("U bazi su trenutno %d naloga.\n", $row_cnt);
printf("<script type='text/javascript'>
var logstari = $.cookie('".$_SESSION['username_login']."');
var log = '%d';
var razlika = log - logstari;
toastr.info(razlika + ' novih naloga od tvog zadnjeg posjeta');
</script>", $row_cnt);
printf("<script type='text/javascript'>
$.cookie('".$_SESSION['username_login']."', '%d');
</script>", $row_cnt);
?>