PHP обращение к БД без перезагрузки страницы #254201


#0 by Chubrik
Нашел на одном форуме: ...реализуется на яваскрипте, но этот самый яваскрипт вызывает php функции. То есть у нас есть страница, разделенная на блоки, например div тегами. Используя яваскрипт, реагируем на различные события на странице, благо в яваскрипте много типов событий. И в зависимости от события яваскрипт функция вызывает php функцию. Та в свою очередь может сделать, к примеру, запрос к базе данных а результаты запроса вывести в один из блоков на странице без ее перезагрузки... Как так сделать-то? Чтобы php вызывался из javascript и, самое главное, передавал результат обращения к БД в тот же javascript? Без перезагрузки страницы?
#1 by Chubrik
Я читаю карту изображения (для использования через <MAP>) из базы данных. Нужно, чтобы карта применялась к изображению без перезагрузки страницы.
#2 by PVasili
Кто-то это уже дела и даже тут (на мисте) поищи.
#3 by Волшебник
#4 by Chubrik
По этим ссылкам в основном теоретические сведения, но я так и не нашел, как мне получить сам html типа:    ifram=document.getElementsByName("ifram");    ifram.src='myphp.php?param='+param;    s=ifram.innerHTML;
#5 by Волшебник
Вот сюда загляни: Здесь готовый класс для общения клиентского скрипта с серверным PHP.
#6 by Vovik
+1 Именно оттуда использовал.
#7 by mrkorn
немного ОФФ... ты не пробовал AJAX завести под .NET'ом
#8 by Волшебник
Не пробовал
#9 by Chubrik
Тогда еще вопрос в тему. Как я понял, это должно работать и вызывать load.php: [script language='JavaScript' src='load.php'></script> Вот у меня почему-то не работает :(
#10 by Chubrik
Народ, помогите с написанием кода, пожалуйста. Никогда, блин, не просил и сам допирал, а тут уже мозги плавятся. Надо читать из БД координаты для карты изображения без перезагрузки страницы.
#11 by Chubrik
Вот мое видение этого. Функция возвращает строку, подставляющуюся в innerHTML элемента таблицы. function ReturnMapCode(x1, y1, x2, y2) {    s="SCRIPT language='JavaScript' src='loadmap.php?x1="+x1+"&y1="+y1+"&x2="+x2+"&y2="+y2+"'>"; в loadmap.php - текст типа <MAP>.. <?php ?> ..</map>    s="<"+s;    s=s+"</";    s=s+"script>";    s=s+'<IMG border=1 src="map.gif" usemap="karta">';    return s; } В результате в innerHTML передается только <IMG>.
#12 by Череп
Мож поможет...            function getHTTPObject            {                var xmlhttp;                xmlhttp = false;                try                    {xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");}                catch (e)                {                    try                        {xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}                    catch (E)                    {                        try                            {xmlhttp = new XMLHttpRequest;}                        catch (e)                            {xmlhttp = false;}                    }                }                return xmlhttp;            }                var xmlHttp = getHTTPObject;            function getDynamicData(Order)            {                var url = "http://Адрес своего скрипта";                xmlHttp.open("GET", url);                xmlHttp.onreadystatechange = callbackFunction;                xmlHttp.send(null);            }            function callbackFunction            {                if (xmlHttp.readyState == 4)                {                    var result = xmlHttp.responseText;                              //Разбираешь ответ                }            }
#13 by Череп
+ 12 Вот и весь Ajax. Правда работает только с ie версии не то 5, не то 5.5
#14 by Chubrik
, Ага, спасибо, буду разбираться.
#15 by Chubrik
Спасибо, Череп, получилось, данные выводятся, теперь есть и <MAP> с нужными координатами, и <IMG>. Только у <IMG> не подхватывается карта все-таки пока. Может, там паузу какую сделать надо? var x1, y1, x2, y2, mx, my, w, h; x1=...;           function getDynamicData           {               var url = "loadmap.php?dx1="+x1+"&dy1="+y1+"&dx2="+x2+"&dy2="+y2;               xmlHttp.open("GET", url);               xmlHttp.onreadystatechange = callbackFunction;               xmlHttp.send(null);           }           function callbackFunction           {               if (xmlHttp.readyState == 4)               {                   var result = xmlHttp.responseText;                             //Разбираешь ответ        s=result+'<IMG border=1 src="map.gif" usemap="karta">';        el.innerHTML=s;               }           }
#16 by Chubrik
Все, разобрался. Буду в Новосибе летом - с меня причитается :)
#17 by Череп
Да без проблемм - обращайся еще ;)
#18 by Chubrik
И еще вопрос к знатокам. При использовании карты изображения <MAP><AREA></map> как можно указать, чтобы при нажатии на активную область браузер не переходил на другую страницу по href, а чтобы вызывалась моя функция, т. е. типа <AREA nohref onclick="myfunc"> ?
#19 by Chubrik
Спасибо, сам разобрался: <AREA HREF='#null' onclick='alert; return false' LANGUAGE='Javascript'>
Тэги: Веб-мастеринг
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С