2014-05-24 5 views
-1

Я googled abit и нашел скрипт, чтобы перезагрузить подразделение.Как автоматически обновить раздел с некоторым содержимым PHP в нем

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script> 
<script type="text/javascript"> 
    setInterval("$('#downshow').load('message.php');", 5000); 
</script> 

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

Моя дивизия downshow что-то вроде ниже ...

$getmessages= mysql_query("SELECT * FROM pvt_messages WHERE (user_from='$active_username' && user_to='$username') || (user_from='$username' && user_to='$active_username') ORDER BY id ASC ") or die(mysql_error()); 

         while ($row = mysql_fetch_assoc($getmessages)) 
         { 
          $body = $row['msg_body']; 
          $date_send = $row['date']; 
          $opened = $row['opened']; 
          $whosent= $row['user_from']; 
          $whoreceived= $row['user_to']; 
          $seen=$row['opened']; 

          ///////////////////////////////////////////////////// 
          $get_user_info = mysql_query("SELECT * FROM users WHERE (username='$whosent')"); 
          //////////////////////////////////////////////////// 
          $get_info = mysql_fetch_assoc($get_user_info); 
          $profilepic_info = $get_info['profile_pic']; 
          if ($profilepic_info == "") { 
          $profilepic_info = "./images/default_pic.jpg"; 
          } 
          else 
          { 
          $profilepic_info = "./userdata/profile_pics/".$profilepic_info; 
          } 
          echo " 
            <div style='float: left;padding-top:5px; padding-left:20px;'> 
              <img src='$profilepic_info' height='50' width='40'> 
            </div> 
            <div style='margin-left:50px;padding-top:5px;'> 
             <a href='$whosent' style='color:black'> $whosent</a> $body 
            </div></br> 
            <div style=' margin-left:30px;'> 
            <font size='2px'>sent on: $date_send</font> 
            <br /> 
            </div> 
            <hr /> 
          "; 



         } 

Я бы сохранил содержание этого деления на другую страницу т.е. message.php, а затем включить его так же, как

<div id='downshow' style='bottom:0px;'class='see_message'> 
<?php include("message.php"); ?> 
</div> 

Но если я это сделаю, будет много проблем, таких как проблемы session_start(), переменная $ active_username будет легко получена $ active_username = $ _ SESSION ['username'] bt не может получить varibale $ username в message.php.

поэтому вместо включения содержимого раздела как «message.php». Я хочу, чтобы этот код находился в основном файле php.

так хочется, как вместо

setInterval("$('#downshow').load('message.php');", 5000); 

Как я могу использовать

setInterval("$('#downshow').load('????????????');", 5000); 

нагрузка сама деление ?????????????

Thankyou заранее :)

ответ

1

Попробуйте это ..

setInterval(function(){ $('#downshow').load('message.php'); 

}, 5000); 
+0

Да, я попробовал это. и он отлично работает, только если необходимо восстановить некоторые постоянные данные. но моя страница для чата, поэтому, если я загружаю только .load ('message.php'). чем в message.php, не будет активного сеанса, нет $ active_username ie me и $ username, т.е. моего определенного друга, чей разговор со мной, я пытаюсь загрузить в деление – AkshayKriti

+0

Я даже попробовал setInterval (function() {$ ('#downshow'). load ('message.php? u = $ username'); }, 5000); Здесь $ username - это друг, чей разговор, я пытаюсь загрузить .. но его не работает – AkshayKriti

+0

Попробуйте это-> '(function() {$ ('# downshow'). Load ('message.php? U = ');}, 5000); ' –

1

Это не самый лучший способ сделать это

Вы должны смотреть на AJAX и создать шаблон для HTML.

Таким образом вы можете отправлять информацию на сервер (например, запрашивать элементы с определенного времени или из определенной «комнаты») и отправлять только важные данные (отправить их как JSON) и заполнить свой шаблон.

Это уменьшит трафик и нагрузку на ваш сервер и уменьшит задержку в вашем приложении, поскольку вы отправляете только важные данные, а не HTML, чтобы идти с ним!

Дополнительно используйте classes для каждого из элементов вместо встроенных стилей, поскольку это упростит работу вашего кода.

+0

. Благодарю вас, я утверждаю это.Но этот встроенный стиль - это то, что я бы быстро закончил стилизацию, а позже планировал использовать класс :) – AkshayKriti

+0

Нет проблем - не было уверен! определенно пойдите по этому маршруту - это будет гораздо больше обучения, но вы будете использовать AJAX LOT во время кодирования, если вы хотите, чтобы красивые проекты жидкостей и приложение для мини-чатов - отличный способ узнать это! Удачи, и если вы найдете мой ответ полезным, то +1 всегда ценится (и принимайте, если вы не найдете лучшего ответа!) –

Смежные вопросы