Чтение RSS каналов

Форум

Открыть Ответить

Как учесть количество кликов (без перезагрузки страниц)

5

5
1
25.12.2013 15:45:4825.12.2013 15:47:19
Есть доска объявлений.
В ней, подробный просмотр какого-либо объявления происходит без перезагрузки страницы по клику на номер объявления. Обработка клика осуществляется с помощью скрипта:
$open_close="<script type=\"text/javascript\">
function openbox(id){
display = document.getElementById(id).style.display; 
    if(display=='none'){
        document.getElementById(id).style.display='inline'; 
        prosm=prosm+1;
    }else{ 
        document.getElementById(id).style.display='none';  
     }
}
</script>";

и тут привязывается к номеру объявления
$pid2="<a href=\"#\" onclick=\"openbox('".$pid."'); return false\">".$pid."</a>";


А как дописать это код, что бы учесть дополнительную переменную, отвечающую за общее количество кликов по объявлению?
Т.е. первоначально из базы приходит переменная $hits и после клика по объявлению в базу уходит обновление переменной на +1.


вот для этой страницы: http://murom-grad.ru/wboard.html


Версия системы: SLAED CMS 5.* Pro
Версия PHP: PHP 5
Сервер: Сервер в интернете
4.45

4.45
2
26.12.2013 16:20:5526.12.2013 16:23:17
Не проверял но должно работать


Запись через ажакс

<script type="text/javascript">
function openbox(id){
display = document.getElementById(id).style.display; 
    if(display=='none'){
        document.getElementById(id).style.display='inline'; 
$.get("/index.php?go=countViewsBoard&id="+id, function(data){return false;}, "json"); 	
}else{ 
document.getElementById(id).style.display='none';  
     }
}
</script>




В корне сайта в index.php после строки


else if ($go == "search") {
	echo open_search();
}


Вставить

else if ($go == "countViewsBoard") {

//Создаем записываем все просмотры в массив сессии для того что бы проверять смотрел ли уже пользователь данное объявление
session_start();
if (!isset($_SESSION['countViewsBoard'])) $_SESSION['countViewsBoard'] = array(); 

$id = intval($_GET['id']) ? $_GET['id'] : '';
if($id!='' && !isset($_SESSION['countViewsBoard'][$id])){

//тут исправить на свое - это просто для примера
$db->sql_query("UPDATE ".$prefix."_news SET counter=counter+1 WHERE sid='".$id."'");//Обновляем количество просмотров 

$_SESSION['countViewsBoard'][$id] = $id;//записываем номер ид

die(json_encode(array('success'=>'')));

}

else{

die(json_encode(array('error'=>'')));

}
}
3.75

3.75
3
27.12.2013 19:40:27
Спасибо. Заработало!
4.45

4.45
Открыть Ответить
quotобъявленияобъявлениюstyleучестьdisplaydocumentкликакликовперезагрузкистраницыколичествоnoneprosmgetelementbyid
Хотите опробовать SLAED CMS в действии?

Технологии

PHP MySQL HTML 5 CSS 3 jQuery jQuery UI

Контакты

  • D-49179, Deutschland
    Ostercappeln, Im Siek 6
  • +49 176 61966679

  • https://slaed.net
Идеи и предложения
Обратная связь