|
|
|
| Может у кого есть скрипт кол-во прочтений, тоесть как в новостях обычно, рядом цифра скока раз прочитали?! | |
|
|
|
|
|
|
|
для: Squadron
(20.06.2006 в 09:05)
| | Дык... Такой код проще самому сделать, чем брать откуда-нибудь;-Р
А делается он просто: создаётся таблица в базе данных (либо файл) в котором записывается кол-во прочтений к каждой, например, новости... А в начале каждой новости вставлять скрипт, увеличивающий кол-во прочтения на 1... | |
|
|
|
|
|
|
|
для: NFR
(20.06.2006 в 09:25)
| | а в коде это как выглядет? (если можно с базой сразу) | |
|
|
|
|
|
|
|
для: Squadron
(20.06.2006 в 12:01)
| | Вот так, например:
База(MySQL): prochten
Поля: kolvo varchar(255), idn int(11).
Где kolvo - количество прочтений, а idn - id новости.
В начале каждой новости следующий код:
$sql = "SELECT kolvo FROM prochten WHERE idn='$idn'";
$result = mysql_query($sql);
$kolvo = mysql_result($result, 0,"kolvo");
$kolvo +=1;
$sql2 = "UPDATE prochten SET kolvo='$kolvo' WHERE (idn='$idn')";
$result2 = mysql_query($sql2);
|
Получение количетсва прочтений:
$sql = "SELECT kolvo FROM prochten WHERE idn='$idn'";
$result = mysql_query($sql);
$kolvo = mysql_result($result, 0,"kolvo");
echo $kolvo;
|
| |
|
|
|
|
|
|
|
для: NFR
(20.06.2006 в 12:49)
| | Браво! Давненько тут никто не снимал штаны через голову!:)
kolvo int(11), idn int(11).
|
UPDATE kolvo SET kolvo=kolvo+1 WHERE idn=$idn;
|
| |
|
|
|
|
|
|
|
для: Loki
(20.06.2006 в 13:32)
| | чего издеваешся, я спать хотел, думать не мог;-Р | |
|
|
|
|
|
|
|
для: NFR
(20.06.2006 в 14:24)
| | Именно поэтому хранишь число в текстовом поле и преобразуешь типы в скрипте?:) | |
|
|
|
|
|
|
|
для: Loki
(20.06.2006 в 16:54)
| | а ты думал я по жизни такой?;-Р | |
|
|
|
|
|
|
|
для: NFR
(20.06.2006 в 12:49)
| | не работает, база че то не хочет! | |
|
|
|
|
|
|
|
для: Squadron
(20.06.2006 в 13:33)
| | а что говорит?.. | |
|
|
|
|
|
|
|
для: NFR
(20.06.2006 в 14:26)
| | говорит что не правельные поля, ошибка типа в запросе | |
|
|
|
|
|
|
|
для: Squadron
(20.06.2006 в 14:28)
| | как Loki заметил, в начале каждой новости лучше писать
UPDATE kolvo SET kolvo=kolvo+1 WHERE idn=$idn;
|
при этом все должно работать, если " kolvo " и " idn " имеют тип " int " ... и конечно же, если такие поля вообще существуют ))
PS: ну да .. потому как kolvo varchar(255), переменную kolvo нужно было привести к строковому типу, после "$kolvo +=1;"
$a = '123';
echo gettype ($a).'<br>';
$a +=1;
echo gettype ($a).'<br>';
settype($a, 'string');
echo gettype ($a);
|
| |
|
|
|
|
|
|
|
для: kasmanaft
(20.06.2006 в 14:38)
| | н-да... а зачем я для kolvo указал varchar(255)?..;-Р | |
|
|
|
|
|
|
|
для: NFR
(20.06.2006 в 14:52)
| | че то вы запутали меня нахрен совсем ))))
вообщем че в базу вносить и что рядом с новостью пихать? | |
|
|
|
|
|
|
|
для: Squadron
(20.06.2006 в 15:56)
| | Значица так:
таблица с kolvo и idn. оба - int(11).
В начале новости пихаеш:
$sql2 = "UPDATE prochten SET kolvo=kolvo+1 WHERE (idn='$idn')";
$result2 = mysql_query($sql2);
|
Вот;-Р | |
|
|
|
|
|
|
|
для: NFR
(20.06.2006 в 16:12)
| | я в mysql 0
не мог бы ты мне дать как в текстовике это будет выглядеть ) | |
|
|
|
|
|
|
|
для: Squadron
(20.06.2006 в 16:28)
| | в каком-таком текстовике?.. тебе запрос создания MySql -таблицы сделать?..
или я спать до сих пор хочу?-Р | |
|
|
|
|
|
|
|
для: NFR
(20.06.2006 в 16:12)
| |
idn у вас не строковая, если помните. | |
|
|
|
|
|
|
|
для: Loki
(20.06.2006 в 17:02)
| | дык... и $idn тоже;-Р он их спокойно сравнивать должен;-Р | |
|
|
|
|
|
|
|
для: NFR
(20.06.2006 в 17:08)
| | прикрепи аттачем файл sql и все ) | |
|
|
|
|
|
|
|
для: Squadron
(20.06.2006 в 17:17)
| | Запусти такой скрипт:
<?php
$link=mysql_connect(); mysql_select_db(); // Заполняй...
mysql_query("ALTER TABLE 'table_name' CHANGE 'idn' 'idn' INT NOT NULL",$link);
|
| |
|
|
|
|
|
|
|
для: NFR
(20.06.2006 в 17:08)
| | скажем так, сравнить он их сравнит. и даже преобразование проведет. Но код от этого правильнее не станет. | |
|
|
|
|
|
|
|
для: Loki
(20.06.2006 в 18:01)
| | А где код? | |
|
|
|
|
|
|
|
для: Loki
(20.06.2006 в 18:01)
| | дык... нам правильность или результат нужен?.. | |
|
|
|
|
|
|
|
для: NFR
(20.06.2006 в 21:04)
| | Правильность. Вы можете гарантировать что при смене версии MySQL не произойдет ужесточения требований к синтаксису? Я - нет. | |
|
|
|
|
|
|
|
для: NFR
(20.06.2006 в 12:49)
| | Млин ) посмеялся от души :D | |
|
|
|
|
|
|
|
для: JIEXA
(20.06.2006 в 22:10)
| | =) | |
|
|
|
|
|
|
|
для: JIEXA
(20.06.2006 в 22:10)
| | ;-( | |
|
|
|
|
|
|
|
для: NFR
(21.06.2006 в 06:15)
| | честно говоря так и не понял, че то вы здесь все поразному ))) | |
|
|
|
|
|
|
|
для: Squadron
(21.06.2006 в 10:01)
| | Гы =)) попробую опишу нормально...
В общем, как я понимаю у тебя уже есть база данных с новостями.. если есть, то по идее у каждой новости ТАМ есть свой идентификатор, так что разумнее было бы не создавать новую таблицу (или даже базу) для хранения количества прочтений, а немного отредактировать имеющуюся (?) .. нужно добавить туда еще один столбец, скажем kolvo (тип int(11) ) ... возможно после этого добавления придется редактировать другие скрипты, где производится добавление данных в таблицу с новостями (надо будет учесть новый столбец) - точно сказать не могу, конечно же... дело твое - можешь создать еще одну таблицу или использовать имеющууся ... предпочтительнее второй вариант...
допустим база данных уже готова... имеются скрипты, отображающие новости...
перед выводом новости (или после) нужно учесть, что новость просмотрели... то есть
mysql_query ("UPDATE kolvo SET kolvo=kolvo+1 WHERE id=$id");
|
Вот и все :)) .. счетчик увеличен.. ($id - идентификатор новости) | |
|
|
|