Най лекия начин за брояч на гледания :)

Make

Registered
Желая да ми се помогне някъв брояч на гледания на страница но да са само уникални
 
Уникалния сайт им и уникална търсчака,ето и уникалните резултати:
http://web-tourist.net/login/login/view.php?st=1961
http://web-tourist.net/login/login/view.php?st=1758
http://web-tourist.net/login/login/view.php?st=1569
ако това не е достатъчно уникално пиши,да потърся още
 
Записваш ип-тата в база от данни и след това при вадене SELECT DISTINCT * FROM views и вади само уникалните IP-та.
 
Мен ми трябва брояч на гледания на клипче смисъл клипчето си има ID не такива броячи
 
По-конкретно(как да се съхранява информацията)? Има 2 варианта (за които се сещам) - текстов файл и БД, като БД отпада, защото искаш просто да знаеш броя на посещенията.
1. Създаваш си файл count.txt (със съдържание "0"), в който ще съхраняваш броя на посещенията като естествено число.
2. Тоя код го слагаш някъде в страницата, на която ще броиш посещенията:
PHP:
<?php
$filename = "count.txt";//името на файла
$fopen = fopen($filename, "r");//отваряме файла в режим на четене
$count = file_get_contents($filename);//взимаме съдържанието на файла
$count++;//увеличаваме числото с 1
fclose($fopen);//затваряме файла
$fopen = fopen($filename,"w");//отваряме файла в режим запис (и изтриваме съдържанието му)
fwrite($fopen, $count);//записваме новото число
fclose($fopen);//затваряме файла
?>
3. Тестваш и виждаш, че работи. :) (при мен работи)
Тоест осем реда код ти решават проблема.
 
anonimen каза:
По-конкретно(как да се съхранява информацията)? Има 2 варианта (за които се сещам) - текстов файл и БД, като БД отпада, защото искаш просто броя на посещенията.
Тоест - създаваш си файл count.txt (със съдържание "0"), в който се съдържа броя на посещенията като естествено число.
PHP:
<?php
$filename = "count.txt";//името на файла
$fopen = fopen($filename, "r");//отваряме файла в режим на четене
$count = file_get_contents($filename);//взимаме съдържанието на файла
$count++;//увеличаваме числото с 1
fclose($fopen);//затваряме файла
$fopen = fopen($filename,"w");//отваряме файла в режим запис (и изтриваме съдържанието му)
fwrite($fopen, $count);//записваме новото число
fclose($fopen);//затваряме файла
?>
Тоест, осем реда код ти решават проблема.


БД е по-добрия вариант, защото той има доста клипчета и иска за всяко едно да се записват гледанията. Логиката е следната - записваш id-то на клипчето и ip-то на потребителя и след това пак SELECT DISTINCT * FROM views WHERE video_id=232
 
anonimen каза:
По-конкретно(как да се съхранява информацията)? Има 2 варианта (за които се сещам) - текстов файл и БД, като БД отпада, защото искаш просто да знаеш броя на посещенията.
1. Създаваш си файл count.txt (със съдържание "0"), в който ще съхраняваш броя на посещенията като естествено число.
2. Тоя код го слагаш някъде в страницата, на която ще броиш посещенията:
PHP:
<?php
$filename = "count.txt";//името на файла
$fopen = fopen($filename, "r");//отваряме файла в режим на четене
$count = file_get_contents($filename);//взимаме съдържанието на файла
$count++;//увеличаваме числото с 1
fclose($fopen);//затваряме файла
$fopen = fopen($filename,"w");//отваряме файла в режим запис (и изтриваме съдържанието му)
fwrite($fopen, $count);//записваме новото число
fclose($fopen);//затваряме файла
?>
3. Тестваш и виждаш, че работи. :) (при мен работи)
Тоест осем реда код ти решават проблема.

е какво е това - отваряш файла в режим на чете и после ползваш file_get_contents - който прави същото в себе си. Няма нужда да го отваряш и затваряш ръчно.
 
Правиш поле в твойта таблица например views и една таблица със полета
video_id,ip,date,
при request правиш проверка дали това видео от това ип е гледанео ако не е правиш update на views
 
macmen каза:
Правиш поле в твойта таблица например views и една таблица със полета
video_id,ip,date,
при request правиш проверка дали това видео от това ип е гледанео ако не е правиш update на views

Не му трябват две заявки, защото може да използва INSERT IGNORE

[sql]
CREATE TABLE `views` (
`video_id` int(10) NOT NULL,
`ip` varchar(20) NOT NULL,
`date` date NOT NULL,
PRIMARY KEY (`video_id`,`ip`,`date`)
);

mysql> insert ignore into views values (1, '127.0.0.1', NOW());
Query OK, 1 row affected, 1 warning (0.04 sec)

mysql> insert ignore into views values (1, '127.0.0.1', NOW());
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> insert ignore into views values (1, '127.0.0.1', NOW());
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> select * from views;
+----------+-----------+------------+
| video_id | ip | date |
+----------+-----------+------------+
| 1 | 127.0.0.1 | 2013-08-18 |
+----------+-----------+------------+
1 row in set (0.00 sec)

[/sql]
 

Back
Горе