2013-03-14 2 views
-1

Может кто-то, пожалуйста, помогите, я пытаюсь сделать вид просмотра, чтобы отразить количество просмотров сообщения.плюс 1 к столбцу каждый раз, когда просматривается страница?

Я пытаюсь создать функцию в mysql, которая добавит +1 к столбцу, называемому read в моей таблице. поэтому, если отсчет начинается с 0 в столбце, и каждый раз, когда кто-то открывает этот пост, он добавляет 1, а другой 1 и другой 1, сколько бы раз эта страница не была доступна.

Я пытаюсь это сделать, но я терпеть неудачу может кто-то, пожалуйста, покажите мне, как достичь этого типа, пожалуйста.

function read_forum_set() { 
    global $connection; 
    global $forum_id; 
    $query = "SELECT * 
      FROM ptb_forum, ptb_profiles 
      UPDATE ptb_forum.read_forum +1 
      WHERE ptb_profiles.user_id = ptb_forum.from_user_id 
      AND ptb_forum.id = '$forum_id' "; 
    $read_forum_set = mysql_query($query, $connection); 
    confirm_query($read_forum_set); 
    return $read_forum_set; 
} 
+1

Не смешивать и сочетать ваши запросы. SELECT как один запрос, UPDATE в качестве второго –

ответ

0

Вам нужно обновление с присоединиться:

update ptb_forum 
join ptb_profiles on ptb_profiles.user_id = ptb_forum.from_user_id 
set ptb_forum.read_forum = ptb_forum.read_forum + 1 
where ptb_forum.id = $forum_id 

Все, что вы делаете, убедитесь, что вы используете update ... set column = column + 1 и не два отдельных запросов (один для чтения старого графа и один, чтобы обновить его), потому что только с единственным выражением обновления вы будете уверены, что каждый удар подсчитывается ровно один раз.

0

Прежде всего, вероятно, лучше отделить запросы от сани.

Как для приращения запроса, очень простой

UPDATE table 
SET column = column + 1 
WHERE foo = bar 
Смежные вопросы