Как сделать обновление части страницы?

Discussion in 'PHP' started by ttt0z, 1 Aug 2010.

  1. ttt0z

    ttt0z Member

    Joined:
    18 Nov 2007
    Messages:
    60
    Likes Received:
    10
    Reputations:
    -5
    Видиться вариант ифрейм добавить и его обновлять через МЕТА каждую секунду, но это не очень вариант так как в опере постоянно ЧАСЫ на курсоре появляются, в ИЕ звук в виде щелчков.

    Может кто-нить подскажет джава скрипт который будет обновлять содержимое ифрейма?
     
  2. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
  3. ttt0z

    ttt0z Member

    Joined:
    18 Nov 2007
    Messages:
    60
    Likes Received:
    10
    Reputations:
    -5
    SHiNiGaMi, Это я и так знаю. Вопрос как?
    и желателльно через скрипт джава
     
  4. b3

    b3 Moderator

    Joined:
    5 Dec 2004
    Messages:
    2,041
    Likes Received:
    933
    Reputations:
    199
    Попробуй http://www.prototypejs.org/api/ajax/periodicalupdater
     
    _________________________
  5. ttt0z

    ttt0z Member

    Joined:
    18 Nov 2007
    Messages:
    60
    Likes Received:
    10
    Reputations:
    -5
    Желательно через Java script.
    Или через ajax. кто нибудь может дать пример?
     
  6. Sharky

    Sharky Elder - Старейшина

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    чё за бредовые советы с аяксом...почитайте сначала что это такое

    по вопросу: создаешь обычный див... присваиваешь ему ид.. суешь свой скрипт в цикл и делаешь слип в 1сек...ну и собственно результат исполнения скрипта выводишь в свой див
     
    3 people like this.
  7. ttt0z

    ttt0z Member

    Joined:
    18 Nov 2007
    Messages:
    60
    Likes Received:
    10
    Reputations:
    -5
    Sharky, можешь пример дать пожалуйста? а то не очень понятно.
    то есть есть файл statistiks.php он обновляеться каждую секунду.

    Есть фрейм на странице который содержит в себе statistiks.php.
    Надо сделать что бы этот фрейм постоянно обновлялся. но что бы не через META.
     
  8. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    Использование фрейма жизненно необходимо?
    Тут и без фрейма можно. Смотри выше
     
  9. ttt0z

    ttt0z Member

    Joined:
    18 Nov 2007
    Messages:
    60
    Likes Received:
    10
    Reputations:
    -5
    -=Zhenek=-, как? дай пример
     
  10. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    Смотри сделаем так :

    PHP:
    Статистика :
    <div id=stat></div>
    <? include("stat.js");?>
    stat.js

    PHP:
    <script>
    var 
    req;
    var 
    reqTimeout;
     
    function 
    loadXMLDoc(url) {
        
    req null;
        if (
    window.XMLHttpRequest) {
            try {
                
    req = new XMLHttpRequest();
            } catch (
    e){}
        } else if (
    window.ActiveXObject) {
            try {
                
    req = new ActiveXObject('Msxml2.XMLHTTP');
            } catch (
    e){
                try {
                    
    req = new ActiveXObject('Microsoft.XMLHTTP');
                } catch (
    e){}
            }
        }
     
        if (
    req) {
            
    req.onreadystatechange processReqChange;
            
    req.open("GET"urltrue);
            
    req.send(null);
            
    reqTimeout setTimeout("req.abort();"5000);
        } else {
            
    alert("Браузер не поддерживает AJAX");
        }
    }
     
    function 
    processReqChange() {

     
        if (
    req.readyState == 4) {
            
    clearTimeout(reqTimeout);
     
     
            
    // only if "OK"  response
            
    if (req.status == 200) {
               
               
    document.getElementById('stat').innerHTML req.responseText;
              var 
    obbbj=document.getElementById("stat");           
            } else {
               
    document.getElementById('stat').innerHTML req.responseText;
            }
        }  
    }
     

     
    function 
    requestdata(params)
    {
      
    loadXMLDoc('stat.php');
    }
    </script>

    а вот stat.php уже твой скрипт статистики, он должен передать готовый для отображения код.

    Потом засовываешь вызов функции requestdata(); в цикл.
    Тут легко передать параметры и например для каждой страницы выводить свою статистику.

    П.с сдела так т.к javascript незнаю, и взял свой готовый код над которым мучился давно ;)
     
  11. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Если jquery приветствуется, то вот для примера
    Code:
      <script type="text/javascript">
        $(document).ready (function () {
          setInterval (get_random, 1000);
        
          function get_random() {
            $.get ('random.php', {min: '1', max: '100'},
              function (data) {
                $("#number").text (data);
              }, "text")
          }
        });
      </script>
    
    Если не приветствуется, кода будет больше)
     
  12. ttt0z

    ttt0z Member

    Joined:
    18 Nov 2007
    Messages:
    60
    Likes Received:
    10
    Reputations:
    -5
    -=Zhenek=-, спсибо за ответ, но не понятно как конкретно сделать. и как вызывать функцию.

    Еще раз поясню:
    у меня файл stranica.html
    и файл stat.php

    и вот файл stat.php надо каждую секунду выводить на stranica.html


    krypt3r, тоже не понятно куда вставлять этот код
     
    #12 ttt0z, 2 Aug 2010
    Last edited: 2 Aug 2010
  13. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    ууу, как все запущено :D
     
  14. ttt0z

    ttt0z Member

    Joined:
    18 Nov 2007
    Messages:
    60
    Likes Received:
    10
    Reputations:
    -5
    krypt3r, напиши конкретно пожалуйста. я не имел опыта такого. сложно реализовать.
     
  15. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    Как я понимаю если ты этим занялся, то тебе это нужно следовательно нужно открыть книгу по javascript и почитать хотя-бы как вызвать функцию.
    Тебе дали уже готовые коды, доступа к твоему проекту никто не имеет и как следствие сделать за тебя не могут.

    выкладывай тогда свой фаил stat.php и фаил где показывать статистику.
     
  16. ttt0z

    ttt0z Member

    Joined:
    18 Nov 2007
    Messages:
    60
    Likes Received:
    10
    Reputations:
    -5
    -=Zhenek=-, вот:
    про функцию я не знаю как сделать что бы она вызывалась постоянно, может в боди_онлоад или еще куда. хз.

    Вот код:
    В файле Stat.html используеться ифрейм, надо сделать без него. файл stat.php всегда уникальный получаеться и надо выводить его каждую секунду.

    Stat.html:
    Code:
    <html>Статистика: </br>
    <iframe width="358" height="30" src="stat.php" frameborder=0></html>
    stat.php:
    Code:
    <?
    $a=rand(1,90);
    echo $a;
    ?>
    
     
    #16 ttt0z, 2 Aug 2010
    Last edited: 2 Aug 2010
  17. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    Вызывать функцию постоянно можно так :
    PHP:
    setInterval('наша функция'1000);
    Я опишу на своем примере.

    Берем фаил stat.js (см его выше)

    PHP:
    <script
    setInterval('requestdata()', 1000)
    <html>Статистика: </br>
    <?include("stat.js");?>

    <div id="stat"></div>
    осталось только все 3 файла положить рядом))

    Обработай напильником!!!
     
    #17 -=Zhenek=-, 2 Aug 2010
    Last edited: 2 Aug 2010
  18. ttt0z

    ttt0z Member

    Joined:
    18 Nov 2007
    Messages:
    60
    Likes Received:
    10
    Reputations:
    -5
    Спасибо большое! вроде работает!
     
  19. ttt0z

    ttt0z Member

    Joined:
    18 Nov 2007
    Messages:
    60
    Likes Received:
    10
    Reputations:
    -5
    -=Zhenek=-, почему то в IE не работает (
    везде прописал хидеры что бы не кешировал страницу - заработало вроде
     
    #19 ttt0z, 4 Aug 2010
    Last edited: 5 Aug 2010
  20. ttt0z

    ttt0z Member

    Joined:
    18 Nov 2007
    Messages:
    60
    Likes Received:
    10
    Reputations:
    -5
    -=Zhenek=-, почему то код которые подгружаеться в нем java script не выполняеться. можно сделать както что бы он выволнялся?