Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Научите пользоватся AJAX! Please!
 
 автор: job   (11.07.2007 в 18:54)   письмо автору
 
 

Мне просто нужно чтобы сообщения из базы данных на страницу подгружались без её обновления каждые 5 секунд...

Ну подскажите!!!

   
 
 автор: bronenos   (11.07.2007 в 19:20)   письмо автору
 
   для: job   (11.07.2007 в 18:54)
 

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

   
 
 автор: Job   (12.07.2007 в 05:00)   письмо автору
 
   для: bronenos   (11.07.2007 в 19:20)
 

Да немогу я ничего хорошего в поиске найти. Там всё не то!

Мне чтобы из базы каждые 5 секунд строчка в div подгружалась... а там всё какие то файлы... ох....

Помогите! Неужели это так сложно! :)

   
 
 автор: Proger   (12.07.2007 в 08:03)   письмо автору
 
   для: Job   (12.07.2007 в 05:00)
 

Ну не знаю, тут на каждой странице форума висит ссылка на чат на ajax, думаю там пример того что Вам нужно есть =)))

А так чем обычный ajax отличаеться от повременного? ДА просто вместо ajax(); чтобы исполнить функцию будет использовать: settimeout(ajaj(),5000); =))

   
 
 автор: bronenos   (12.07.2007 в 08:30)   письмо автору
 
   для: Job   (12.07.2007 в 05:00)
 

ну так делаете запрос на файл, а файл выдает содержимое строки базы данных, сам то аякс к базе не умеет обращаться

   
 
 автор: Job   (13.07.2007 в 10:08)   письмо автору
 
   для: bronenos   (12.07.2007 в 08:30)
 

Вот, вроде нашел.... чуть чуть переделал и вот что получилось....


<html> 
  <head> 

<script type="text/JavaScript"> 
var req; 
var text_pro = "";

function loadXMLDoc(url) { 
    if (window.XMLHttpRequest) { 
        req = new XMLHttpRequest(); 
        req.onreadystatechange = processReqChange; 
        req.open("GET", url, true); 
        req.send(null); 
    } else if (window.ActiveXObject) { 
        req = new ActiveXObject("Microsoft.XMLHTTP"); 
        if (req) { 
            req.onreadystatechange = processReqChange; 
            req.open("GET", url, true); 
            req.send(); 
        } 
    } 


function processReqChange() 
{    
     
     
    if (req.readyState == 4) 
    { 
        if (req.status == 200) 
        { 
            if(text_pro!==req.responseText)//Если последнее сообщение которое выводилось !== текущему
            {
            document.getElementById('chat').innerHTML += req.responseText; 
            text_pro = req.responseText;
            }
        } 
        else 
        { 
            alert("Не удалось получить данные"); 
        } 
    }   




function requestdata() 

loadXMLDoc('cyber.php');   


setInterval("requestdata();",5000);    
</script> 

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> 
</head> 
<body> 
  
<form name="form1"> 
<div id="chat"></div>
</form> 

</body> 
</html> 


А вот это файл cyber.php

<?php 
header
("Content-type: text/plain; charset=windows-1251"); 
header("Cache-Control: no-store, no-cache, must-revalidate"); 
header("Cache-Control: post-check=0, pre-check=0"false); 


  
$file file("file.txt");
  
$end =  count($file);
  
$end = ($end-1);
//Выводит последнюю строчку файла
print("$file[$end]<br>");

?> 


Но сталкнулся с такой проблемой, если в файле cyber.php прописать что то типа этого:
<html><head>
<META HTTP-EQUIV="Refresh" CONTENT="0; URL=next.php">
</head><body>

Не сработает :(((( Почему???

И ещё вопрос, как отправлять данные без обнавления страницы? Хотябы примерно Плизззз

   
 
 автор: cernos   (13.07.2007 в 10:21)   письмо автору
 
   для: Job   (13.07.2007 в 10:08)
 

через тот же аякс отправляй )

   
 
 автор: Job   (13.07.2007 в 10:27)   письмо автору
 
   для: cernos   (13.07.2007 в 10:21)
 

Дак я понял, а как? Пример, ссылку, поисковой запрос... что угодно дайте!

А почему

<html><head>
<META HTTP-EQUIV="Refresh" CONTENT="10; URL=next.php">
</head><body>

не работает?

   
 
 автор: SHAman   (13.07.2007 в 11:54)   письмо автору
 
   для: Job   (13.07.2007 в 10:27)
 

Потому что пхп выводит все, что не в функции header() или подобных уже в ТЕЛО ответа. А вам нужно сначала заголовочки послать. Добиться того эффекта, который вы хотите можно так:
header("Location: next.php");

Так будет сделана переадресация.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования