Запрос к Mysql

Тема в разделе "HTML, CSS, XML, JavaScript", создана пользователем Paster, 9 сен 2009.

  1. Paster

    Paster Гость

    Всем доброго времи суток...

    Хочу сделать так: после загрузки страницы через определенное время javascript делается запрос к базе mySQL, берет из нее данные и заносит изменения на страницу, НЕ ПЕРЕЗАГРУЖАЯ ее.
    Желательно ограничиться javascript, PHP, mySQL.

    буду очень благодерен за Вашу помощь...
     
  2. etc

    etc Гость

    Не возражаем.
     
  3. Paster

    Paster Гость

    Проблема в том, что не получается. Помогите, пожалуйста. буду очень презнателен.
     
  4. ????

    ???? Гость

  5. etc

    etc Гость

    Что конкретно?
     
  6. Paster

    Paster Гость

    Спасибо большое. Прочитал про XMLHttpRequest на вике.
    После этого нашел пример http://www.webmascon.com/topics/technologies/13a.asp
    Сделал по аналогии скрипт, но все равно вывести данные из MySQL не получается=(.

    Вот то, что я написал:
    Код (Text):
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <title>Пример</title>
    <script language="JavaScript" type="text/javascript">
    function GetNewVars(name,text,date)
    {
    document.getElementById('name').innerHTML = name;
    document.getElementById('text').innerHTML = text;
    document.getElementById('date').innerHTML = date;
    };

    function processReqChange()
    {
    if (req.readyState == 4)
    {
    if (req.status == 200)
    {
    response = req.responseXML.documentElement;
    method = response.getElementsByTagName('method')[0].firstChild.data;
    name = response.getElementsByTagName('name')[0].firstChild.data;
    text = response.getElementsByTagName('text')[0].firstChild.data;
    date = response.getElementsByTagName('date')[0].firstChild.data;

    eval(method + ' (name,text,date)');
    };
    };
    };

    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 Timer()
    {
    Second--;
    document.getElementById('time').innerHTML = Second;
    if (Second == Update)
    {Update = Second - 10;
    id++;
    url = 'http://localhost/js_test.php?id='+id;
    loadXMLDoc(url);
    };
    }; 

    Second = 60;
    Update = Second - 10;
    id = 1;

    interval = setInterval(Timer,1000);
    </script>
    </head>

    <body>

    <div id='time'></div>
    <div id='name'></div>
    <div id='text'></div>
    <div id='date'></div>

    <script type="text/javascript">document.getElementById('time').innerHTML = Second;</script>
    </body>
    </html>
    // Файл test.php делает отсчет времени. На каждой 10й секунде должен происходить запрос к базе и данные из нее отображаться в тегах "div"

    Код (Text):
    <?php
    include("blocks/connect.php");
    $id = $_GET["id"];
    $id = trim($id);
    $r_info = mysql_query("SELECT * FROM news WHERE id = $id LIMIT 1");
    $m_info = mysql_fetch_array($r_info);
    echo ('<?xml version="1.0" encoding="UTF-8" standalone="yes"?>');
    echo("<response>");
    echo("<name>".$m_info["name"]."</name>");
    echo("<text>".$m_info["text"]."</text>");
    echo("<date>".$m_info["date"]."</date>");
    echo("</response>");

    ?>
    // Файл js_pest.php обрабатывает значение идентификатора отправленного методом GET и вытаскивает из базы новость по id. (По крайней пере он должен это делать)

    При тестировании на IE он выдает ошибку:
    Тестировал "js_test.php" напрямую, выдает, по моему то, что нужно.

    Помогите мне, пожалуйста. Я уже голову себе сломал%)
    PS Оба предоставленные мною скрипта были написаны только, чтобы продемонстрировать эту ошибку. Они протестены, и суть ошибки такая же, как и в основном скрипте, с которым я работаю.
    PPS include("blocks/connect.php"); здесь происходит соединение с базой. Оно точно работает корректно.
     
  7. alexdrob

    alexdrob Гость

    на первый взгляд функция function processReqChange() не сможет обратится к обьекту req с функции function loadXMLDoc(url).
    добавь после строки
    <script language="JavaScript" type="text/javascript">
    строку
    var req;
     
  8. Paster

    Paster Гость

    К сожалению, ни чего не изменилось=( Спасибо за помощь=)
     
  9. alexdrob

    alexdrob Гость

    ты получаешь элемент getElementsByTagName('method')
    но в твоём пхп файле нет элемента method
    и переменная с именем date не очень удачна, есть зарезарвированная функция date может конфликт быть
     
Загрузка...
Похожие Темы - Запрос Mysql
  1. sn@ke
    Ответов:
    5
    Просмотров:
    3.634
  2. slavon-x86
    Ответов:
    17
    Просмотров:
    6.506
  3. mrtg
    Ответов:
    14
    Просмотров:
    212
  4. erdi
    Ответов:
    1
    Просмотров:
    114
  5. lmike
    Ответов:
    23
    Просмотров:
    737

Поделиться этой страницей