Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Счётчик просмотров 
:(
    Опции темы
Golovastik
Дата 28.9.2010, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 19.7.2009

Репутация: нет
Всего: 0



Хочу сделать счётчик просмотров, есть описание и ссылка на подробности и от того сколько нажата ссылка на подробности такое кол-во раз и увеличивать счётчик, только не на странице подробности, а на странице в которой находится ссылка на подробности,то есть как здесь например.

Написал так, но обновление идёт сразу на всех постах находящихся на странице, а не на
тех на которых нажал на кнопку подробнее зашёл на этот пост.
Код

//Вывод постов
for($i = 0; $i < $num; $i++)  
{  
$prosmotrov = mysql_query("select * FROM lessons",$connect);
$rez = mysql_fetch_array($prosmotrov);
$enlarge = $rez['obnovlenie']+1;
$obnovlenie_rez = mysql_query("UPDATE lessons set obnovlenie = '$enlarge' where  id = id ");
echo 'Просмотров: '.$enlarge;

if(isset($postrow[$i]['id'])) echo  '&nbsp;'.$postrow[$i]['text'].'<br/>';

}  



Это сообщение отредактировал(а) Golovastik - 28.9.2010, 23:58

Присоединённый файл ( Кол-во скачиваний: 9 )
Присоединённый файл  clip_image002.jpg 40,43 Kb
PM MAIL   Вверх
bars80080
Дата 29.9.2010, 00:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



условие id = id всегда true, потому и обновление всем постам

надо $obnovlenie_rez = mysql_query("UPDATE lessons set obnovlenie = '$enlarge' where  id = $id ");

только где эта переменная $id? наверняка в ссылке.

как ссылка "подробнее" выглядит?
PM MAIL WWW   Вверх
Golovastik
Дата 29.9.2010, 00:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 19.7.2009

Репутация: нет
Всего: 0



Ссылка выглядит так: 
<div align="right"> <a class="podrob" href="/videolessons/1_1.php">Подробнее </a><span class="skobki">>></span></div>
Она находится в базе данных в id = 1 во втором ид другая ссылка.
PM MAIL   Вверх
bars80080
Дата 29.9.2010, 00:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(Golovastik @  29.9.2010,  00:26 Найти цитируемый пост)
Она находится в базе данных в id = 1 во втором ид другая ссылка. 

а эта вторая ссылка ведёт в итоге на тот же скрипт или другой?
PM MAIL WWW   Вверх
Golovastik
Дата 29.9.2010, 00:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 19.7.2009

Репутация: нет
Всего: 0



2 ссылка находится в ид=2 и ведёт уже не на 1_1.php а на 1_2.php
PM MAIL   Вверх
bars80080
Дата 29.9.2010, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



если ссылки ведут на разные файлы, то значит мы заранее знаем, какой id используется в каждом файле. то есть можем просто написать:

Код

//Вывод постов
for($i = 0; $i < $num; $i++)  
{  
$prosmotrov = mysql_query("select * FROM lessons",$connect);
$rez = mysql_fetch_array($prosmotrov);
$enlarge = $rez['obnovlenie']+1;
$obnovlenie_rez = mysql_query("UPDATE lessons set obnovlenie = '$enlarge' where  id=1");
echo 'Просмотров: '.$enlarge;
if(isset($postrow[$i]['id'])) echo  '&nbsp;'.$postrow[$i]['text'].'<br/>';
}  

в файле 1_1.php

Код

//Вывод постов
for($i = 0; $i < $num; $i++)  
{  
$prosmotrov = mysql_query("select * FROM lessons",$connect);
$rez = mysql_fetch_array($prosmotrov);
$enlarge = $rez['obnovlenie']+1;
$obnovlenie_rez = mysql_query("UPDATE lessons set obnovlenie = '$enlarge' where  id=2");
echo 'Просмотров: '.$enlarge;
if(isset($postrow[$i]['id'])) echo  '&nbsp;'.$postrow[$i]['text'].'<br/>';


в файле 1_2.php



хотя конечно возникает вопрос: а зачем были сделаны файлы с одинаковым кодом? это же противоречит принципам программирования
PM MAIL WWW   Вверх
Golovastik
Дата 29.9.2010, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 19.7.2009

Репутация: нет
Всего: 0



Вы не поняли у меня вывод постов в одном файле пхп, то есть в KONTENT.PHP который подсоединяется в индекс при запуске index.php.
и выводятся список постов, а на одном из постов есть ссылка на подробное описание, как сделать чтоб при нажатии на эту ссылку отображалось сколько раз я посетил этот пост?

PM MAIL   Вверх
bars80080
Дата 29.9.2010, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(Golovastik @  29.9.2010,  14:50 Найти цитируемый пост)
Вы не поняли у меня вывод постов в одном файле пхп

я то понял, только вы почему-то на прямой вопрос 
Цитата(bars80080 @  29.9.2010,  00:37 Найти цитируемый пост)
вторая ссылка ведёт в итоге на тот же скрипт или другой? 

указали
Цитата(Golovastik @  29.9.2010,  00:43 Найти цитируемый пост)
2 ссылка находится в ид=2 и ведёт уже не на 1_1.php а на 1_2.php 

что файлы разные?



ответьте тогда, если вызвать

var_dump($_SERVER['REQUEST_URI']);

в этом скрипте вначале для одной ссылки, а затем для другой, будет ли меняться имя файла?

PM MAIL WWW   Вверх
Golovastik
Дата 29.9.2010, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 19.7.2009

Репутация: нет
Всего: 0



Вот вложил архивом, не получается сделать чтоб считалось кол-во просмотров после нажатия на кнопку просмотров на один из постов, именно после нажатия на кнопку Подробнее.
http://www.sharemania.ru/0196467
PM MAIL   Вверх
Sanchezzz
Дата 30.9.2010, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



у тебя не задана переменая $id поэтому запрос неидет в ту степь куда тебе нужно.

если тебе нужно узнать id по имени файла то узнаешь так.
Код

$sqr = "1_2.php?id=1"; // $_SERVER['PHP_SELF'];

preg_match('/(.*)\.php/isu',$sqr , $math);     

print_r( $math);

print $math[1]; // выводим результат 1_2  думаю не сложно будет дальше 
$math =  explode('_' , $math[1]);   //$math[1] = будет 2 $math[0] будет = 1
$id = $math[1];


так тебе нужно было?




Это сообщение отредактировал(а) Sanchezzz - 30.9.2010, 13:34


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
Golovastik
Дата 4.10.2010, 00:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 19.7.2009

Репутация: нет
Всего: 0



Код

если тебе нужно узнать id по имени файла то узнаешь так.


То есть для каждого поста, я имею ввиду для его подробного описания после нажатия на кнопку подробнее нужно отдельный файл пхп создавать, так все делают?
PM MAIL   Вверх
Golovastik
Дата 4.10.2010, 01:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 19.7.2009

Репутация: нет
Всего: 0



Написал так в коде:

Код
$prosmotrov = mysql_query("select * FROM lessons",$connect);
//Вывод постов
for($i = 0; $i < $num; $i++)  
{  
$rez = mysql_fetch_array($prosmotrov);
//$enlarge = mysql_query("UPDATE lessons SET obnovlenie = obnovlenie+1  WHERE id=".$id);
//echo 'Просмотров: '.$enlarge;
if(isset($postrow[$i]['id'])) echo  '&nbsp;'.$postrow[$i]['text'].'<br/>';
}


В базе данных для теста, такая запись в поле text.
Код

<?php
$enlarge = mysql_query("UPDATE lessons SET obnovlenie = obnovlenie+1  WHERE id=".$id);
?>          
<div class="zagolovok_kyrsa">Заголовок 1</div>
</br>
<div align="justify" class="shrift">
Случилось то, чего <b>так долго ждали в Рунете,</b> но чего никогда ранее еще не было!..Произошло по истине эпохальное событие!..
Невероятный, потрясающий подарок всем, кто интересуется &nbsp <b>заработками в Сети!..</b>
</div>
<div>&nbsp;</div>
<div align="right"> <a class="podrob" href="/videolessons/1_1.php">Подробнее </a><span class="skobki">>></span></div>
<br />


Ошибок не выдаёт но счётчик не работает.
PM MAIL   Вверх
Sanchezzz
Дата 4.10.2010, 06:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



1 проверти запрос в myPHPAdmin
2 где у тебя заполняется переменная $id


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
Golovastik
Дата 4.10.2010, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 19.7.2009

Репутация: нет
Всего: 0



А где нужно её заполнять, после того как нажал на кнопку подробнее? 
Как это должно примерно выглядеть, я имею виду значения передаваться от куда куда должно?
PM MAIL   Вверх
Sanchezzz
Дата 4.10.2010, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



блин я пишу твой сайт или ты ? или меня разводят на тролинг или что то тут другое.

Разумеется ты должен ее получить до запроса 
Код

<?php
$enlarge = mysql_query("UPDATE lessons SET obnovlenie = obnovlenie+1  WHERE id=".$id);
?> 

чтобы твоя переменная имело значение а у тебя в коде получается что переменная пуста соответствен запрос не выполняется.

Код

print mysql_error(); //чтобы посмотреть ошибку запроса.



мне кажется тебе нужно прочитать книженцию, хотя бы самоучитель.

Это сообщение отредактировал(а) Sanchezzz - 4.10.2010, 14:10


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1368 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.