За последние 24 часа нас посетили 18612 программистов и 1614 роботов. Сейчас ищет 1751 программист ...

Загрузка данных из БД.

Тема в разделе "JavaScript и AJAX", создана пользователем Kocapb, 9 фев 2009.

  1. Kocapb

    Kocapb Активный пользователь

    С нами с:
    10 июл 2008
    Сообщения:
    169
    Симпатии:
    0
    Здравствуйте, делаю первые шаги в освоении технологи "динамической загрузки" страницы. Уже довольно давно не могу в доступной мне литературе найти описание-примеры взаимодействия с БД (MySQL + php).
    Интересуют вопросы:

    • 1. Каким образом передавать данные в браузер.
      2. В каком формате рекомендуется передавать данные.

    Интересно узнать мнение профессионалов и "продвинутых" людей в этой области. Можно просто описать принципы взаимодействия с названием технологий. Ссылки на лит-ру и названия книг с авторами приветствуются. Спасибо за любую помощь в решение этого вопроса.
     
  2. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    1. AJAX
    2. в зависимости от реализации AJAX. обычно передают сразу HTML+js и там все разруливается
     
  3. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Обычно AJAX взаимодействует с одним php-файлом. В качестве параметра в него передается какая-нибудь запрашиваемая величина. Файл, получая величину, берет данные из базы и нашпиговывает html и просто выводит через echo (конечно, далеко не самый хороший вариант, но для начала сойдет). Эти данные передаются AJAXу и дальше их можно отловить Javascript"ом и вставить куда нужно.

    Пример:
    index.html:

    HTML:
    1.  
    2.     <script type="text/javascript">
    3.  
    [js]function get(vegetables) {
    if (window.XMLHttpRequest) {
    var request = new XMLHttpRequest();
    request.onreadystatechange = function () { processRequestChange(request) };
    request.open("POST", "/ajax.php" , true);
    request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    request.send('vegetables='+vegetables);
    }
    else if (window.ActiveXObject) { //Вариант для IE
    var request = new ActiveXObject("Microsoft.XMLHTTP");
    request.onreadystatechange = function () { processRequestChange(request) };
    request.open("POST", "/ajax.php" , true);
    request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    request.send('vegetables='+vegetables);
    }
    function processRequestChange(request) {
    var abortRequest = setTimeout( function () { request.abort(); }, 10000);
    if (request.readyState == 4 && request.status == 200) {
    document.getElementById('text').innerHTML = request.responseText;
    request.abort();
    }
    }

    }[/js]
    HTML:
    1.  
    2.     </script>
    3. </head>
    4. <div id="text"></div>
    5. <span onclick="get('redis')">получить редиску</span><br>
    6. <span onclick="get('morkov')">получить морковку</span>
    7. </body>
    8. </html>
    9.  
    ajax.php
    PHP:
    1.  
    2. <?php
    3. header("Content-type: text/html; charset=windows-1251");
    4. switch ($_POST["vegetables"]) {
    5.     case "redis":
    6.         echo 'Редиска!!';
    7.         break;
    8.        
    9.     case "morkov":
    10.         echo 'Морковка!!';
    11.         break;
    12. }
    13.  
    А с базой, как обычно...
    Да, и ссылка: http://javascript.ru/ajax/tutorial
     
  4. Kocapb

    Kocapb Активный пользователь

    С нами с:
    10 июл 2008
    Сообщения:
    169
    Симпатии:
    0
    спс огромное буду разбирать
     
  5. EvelRus

    EvelRus Активный пользователь

    С нами с:
    16 ноя 2006
    Сообщения:
    2.168
    Симпатии:
    0
    Адрес:
    Москва
    Kreker, а можно в реализации с пометкой "простейший пример аякс"???? Ну чтобы не терять и всегда было видно пример )
     
  6. Kocapb

    Kocapb Активный пользователь

    С нами с:
    10 июл 2008
    Сообщения:
    169
    Симпатии:
    0
    Kreker
    а если обращаться к БД на MySQL, то надо сделать файл .php в нем составить запрос и вызывать его?
    P.S. а что надо доп. поставить чтобы твой код заработал у меня стоит сейчас XAMPP (apache сервер)
     
  7. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Nemo
    В смысле? Довести пример до ума и вывесить скрипт? Попробую, но не на этой неделе...

    Kocapb
    С БД работать точно так же, как и обычно. Вы не работали ни разу?

    Ничего. AJAX - это просто Javascript технология. В данный момент её поддерживают все популярные браузеры. А сервер, можно заметить по коду, даже и не знает, что к нему обращаются через ajax.
     
  8. Kocapb

    Kocapb Активный пользователь

    С нами с:
    10 июл 2008
    Сообщения:
    169
    Симпатии:
    0
    не на php у меня есть опыт работы с БД на MySQL.
    Ок с запуском разобрался. Завтра попробую с простейшими запросом на чтение полей.
     
  9. PeaceDuke

    PeaceDuke Активный пользователь

    С нами с:
    8 ноя 2008
    Сообщения:
    32
    Симпатии:
    0
    Спасибо за урок)))
    Всё рабоет.. а вот бегняга старый добрый эксплоуэр не работает....