Тип данных Mysql или код php для увеличения на 1 каждый раз, когда страница в моей базе данных загружается в браузере - PullRequest
0 голосов
/ 04 ноября 2011

Я пытаюсь использовать Dreamweaver для создания веб-сайта базы данных Lyrics. У меня есть таблица с текстами песен, и у меня есть столбец с именем «views», который я хочу увеличить на 1 каждый раз, когда конкретный текст отображается в браузере.

Как я могу сделать это, используя mysql? Какой тип данных MySQL или PHP я могу использовать?

Пожалуйста, объясните полностью, потому что я не очень хорошо знаю php или mysql, я просто пытаюсь.

Помните, что я использую Dreamweaver.

Спасибо.

Ответы [ 3 ]

0 голосов
/ 04 ноября 2011

Что ж, нам нужно посмотреть, как устроен ваш PHP и MySQL, чтобы быть честным. Вы хотите, чтобы кто-то просто написал это для вас, или вы хотите учиться?

Запрос будет выглядеть примерно так:

$query = "UPDATE `myviewstable` SET count = count+1 WHERE id = '$id'";

Я верю, что это сработает. id - это ваш лирический идентификатор, а count - ваша колонка для отслеживания номеров.

0 голосов
/ 04 ноября 2011

Я никогда не был поклонником столбца 'views', потому что нет никаких доказательств того, что это фактическое число, вместо этого я бы создал таблицу транзакций, в которой я бы сохранил метку времени вместе с другой информацией, а затем, если бы я хотел чтобы подсчитать, сколько раз была просмотрена лирика, я бы просто сделал:

SELECT count(*) FROM lyric_views WHERE lyric_id = ?

В демонстрационных целях дизайн таблицы может выглядеть следующим образом:

CREATE TABLE `lyric_views` (
  `id` int(11) unsigned NOT NULL auto_increment,
  `lyric_id` int(11) unsigned NOT NULL,
  `viewed_at` timestamp NOT NULL default CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8
0 голосов
/ 04 ноября 2011
UPDATE lyrics SET views=views+1 WHERE id = $id_of_song

и выполняйте его каждый раз при загрузке страницы текста песни.

...