Не зарегистрирован
Вход
Забыли пароль?
Регистрация
Подписаться
Сэкономьте время — перед вопросом на форуме узнайте, как найти ответ быстрее
По техническим проблемам необходимо обращаться в Консультационный центр

Поиск по форуму: 

Приглашаем в блог Amiro.CMS. Регулярные обзоры, опыт, решения, практикумы.
Форум  ->   Общие вопросы  ->  счётчик. нужна помощь программиста


Показать все сообщения в этой ветке


Добавлено: 26.02.16 10:22:15  




Регистрация: 22.11.06
Сообщений: 273


Обратиться по имени

добрый день, уважаемые. перейду сразу к делу. была поставлена задача установить на мебельный сайт счётчик проданных диванов. причём самый обычный, бутафорский без привязок и интеграций с 1С и проч. т.е. ставится начальное значение и каждые 2 часа к нему прибавляется +1.
было создано 3 файла:
data.php
1020|22
где левая часть - начальное число, правая - час, в который последний раз перезаписывалось.

main.php
<?
$shag=2;
$scan = $_POST['scan'];
$t = $_POST['t'];
$f = file("data.php");
$data = explode("|",$f[0]);
$itog = $data[0];

if($scan==1){
    
  if($t > $data[1]+$shag){
  $itog = $itog+1;
  $data[1]=$t;
  file_put_contents("data.php",$itog."|".$data[1]);
  }   
}
//демо режим, быстрый счетчик
if($scan==2){
$itog = $itog+1;
$data[1]=$t;
file_put_contents("data.php",$itog."|".$data[1]);
}
 $ar=str_split($itog);
 $string="";
 foreach($ar as $v){
 $string=$string."<div class='t10'>$v</div>";
  }
  echo $string;
?>


и, собственно, index.php
<head>
<style>
  .clear{clear:both}
  .t10{float:left;  padding:8px;  font-size:20px;  background-color:#000064;  color:white;  margin-right:5px;}  
  </style>
     <script type="text/javascript">
function take(a){
$.ajax({
type:'POST',
cache:false,
dataType:'html',
url:'work/main.php',
data:{
'scan':a,
't':'<?=date("H");?>'
},
success:function (data) {
$("#zkz").html(data);}
});      
}
$(function(){          
take(1);//ordinary launch
setInterval(function(){
take(1)},10000);
});
</script> 
</head>
<body>
<div id='zkz'></div>
<div class='clear'></div>
</body>


далее.
папка work кладется в корень.
из файла Index.php
.clear{clear:both}
.t10{float:left;  padding:8px;  font-size:20px;  background-color:#000064;  color:white;  margin-right:5px;}

вставляем в стили макета,
вызов js
<script type="text/javascript">
function take(a){
$.ajax({
type:'POST',
cache:false,
dataType:'html',
url:'work/main.php',
data:{
'scan':a,
't':'<?=date("H");?>'
},
success:function (data) {
$("#zkz").html(data);}
});      
}
$(function(){          
take(1);//ordinary launch
setInterval(function(){
take(1)},10000);
});
</script>

вставляется в Head,
<div id='zkz'></div><div class='clear'></div> прописываю в подвале. в результате получился симпатичный счётчик http://www.divanport.ru/ внизу справа.

но тут возникает проблема. он не обновляется. вообще. ни через 2 часа, ни через 4... в принципе он работает, если take(1)},10000 заменить на take(2)},10000, то он начинает менять значения прямо на глазах, но в нормальном состоянии, когда "take(1)},10000" ничего не происходит.

кто поможет разобраться, +1 в карму, слава и почёт. спасибо за внимание.



0


Создать новую тему Ответить