Ok так что здесь мы идем ..Не могу понять это
Допустим, $topic['is_new']
состоит из «7325823» и accID является 63426, то он обновляет до 7325823 | 63426, но если я снова перезагрузите страницу удаляет 7325823 | поэтому его только 63426. Я не хочу этого.
Неправильно? не могу понять его
$accID = userid goes here;
$topic['is_new'] = "72482|81249|8124|42534|...and so on"; // user ids that i get from field in topics table
$list_of_ids = explode('|', $topic['is_new']);
// lets see if the user has already been here
if (!in_array($accID, $list_of_ids)) {
$in = isset($topic['is_new']) && !in_array($accID, $list_of_ids) ? $topic['is_new'].'|'.$accID : $topic['is_new'].'|'.$accID;
} else {
// if he havent, add him to the list
$in = $accID;
}
// yes i know, PDO is better
mysqli_query("UPDATE topics
SET num_views = num_views+1, is_new = '$in'
WHERE id = $tid") or die(mysqli_error($link));
Это то, что я пытаюсь implent: custom php forum - showing new/unread posts
Вы пытаетесь сохранить то, что пользователь просмотрел какой нить, для каждого пользователя и каждого потока? Это 'O (N^M)' пространство, с которым вы имеете дело, которое просто требует неприятностей ... –
У вас есть SQL в нижней части скрипта, где код, который фактически запускает этот SQL? Кроме того, ваш тернарный оператор (начало 'isset ($ topic ...' делает то же самое для обоих случаев, и поэтому является избыточным. – Pudge601
@Kolink, ну у меня очень маленький форум, и я нашел это, и он был похож на хорошее простое решение: http://stackoverflow.com/questions/6374952/custom-php-forum-showing-new-unread-posts?answertab=active#tab-top – Johnny