В моем уведомлении об общем количестве операций, которые я создал, как описано ниже, что не может показать правильный результат, как я хочу. Пожалуйста, см. Мой код ниже с описанием и My Вопрос внизу моего кода.мой счетчик уведомлений php не может показать правильный результат
Фрагмент моего кода сделал как:
я узнаю, все мои наблюдения и последователи идентификаторов, (Into последующей таблицы).
Затем, с помощью идентификаторов, я узнаю все действия, выполняемые этими идентификаторами (в таблицу обновления).
a. В раскрывающемся списке уведомлений: если какое-либо действие я вижу один раз и наводил на него, мой код javascript делает его view = 1. В противном случае view = 0 является моим значением по умолчанию.
b. Если просмотреть один раз, мой код вычитает общий вид из общего количества.
В моем первом запросе я использовал свой идентификатор, чтобы узнать всех моих последователей и последователей, которые также показывают мои собственные действия. Поэтому я делаю здесь еще один запрос, чтобы узнать все мои действия, чтобы вычесть его из общего количества.
Это все; Вот мой код:
global $dbh;
$myid = $session->id;
//1.
$q = mysqli_query($dbh,"SELECT * FROM follow WHERE friend_one='$myid' OR friend_two='$myid'") or die(mysqli_error($dbh));
while ($row = mysqli_fetch_assoc($q)) {
$f_id = $row['friend_one'];
$f2_id = $row['friend_two'];
//2.
date_default_timezone_set('Asia/Dhaka');
$timestamp = date("M j, y; g:i a", time() - 2592000);
$g = mysqli_query($dbh,"SELECT id FROM update WHERE `from_id`='".$f_id."' OR `to_id`='".$f_id."' OR `from_id`='".$f2_id."' OR `to_id`='".$f2_id."' AND `view` = '0' AND `created` > '".$timestamp."'") or die(mysqli_error($dbh));
while ($row = mysqli_fetch_assoc($g)) {
$count1 = mysqli_num_rows($g);
$id = $row['id'];
//2.b
$v = mysqli_query($dbh,"SELECT * FROM update WHERE `id`='".$id."' AND `view` = '1' AND `created` > '".$timestamp."'") or die(mysqli_error($dbh));
$count2 = mysqli_num_rows($v);
//3.
$c = mysqli_query($dbh,"SELECT * FROM update WHERE `id`='".$id."' AND `from_id`='".$myid."' AND `created` > '".$timestamp."'") or die(mysqli_error($dbh));
$count3 = mysqli_num_rows($c);
// Total count
$count = ($count1 - $count2 - $count3);
echo '.$count.';
Вопрос На мой выше //2.b сценарий не может сосчитать все идентификаторы, которые уже просмотрены? Его счет только «1» всегда.
Пожалуйста описал меня прежде, чем вниз голосования. Спасибо. – koc