форум вебмастероff на AlfaSpace.NET |
Ubuntu и Linux
|реактивный бесплатный хостинг
| Киноклуб. ВСЁ БЕСПЛАТНО!
база знаний хостинга
|
правила форума
| Начало ° Ответить ° Статистика ° Опрос ° Регистрация ° Поиск ° FAQ ° |
| Форум вебмастеров на AlfaSpace.NET / The Matrix Has You / юзеры спасают смола по вопросу AJAX |
| . 1 . 2 . >> |
| Автор | Сообщение |
| smallcms Участник 2754 |
# Дата: 19 Июн 2006 11:38 блин... не помню, когда я просил помощи на этом форуме, да и вообще... на форуме, наверное, никогда... воппрос таков: нужно написать скрипт (DHTML + AJAX), который содержит текстовое input поле... есть кнопка GET. нужно ввести адрес XML документа, который занесётся (динамически, я так понимаю) в сам документ. возможно ли и как? саму суть. можно ли яваскриптами открыть внешний файл? на сколько я знаю раньше нельзя было, а с приходом XML и AJAX мало ли... потому и спрашиваю... |
| smallcms Участник 2754 |
# Дата: 19 Июн 2006 11:43 в задании: 3. User can input any http path and press "Get" button to acquire XML using GET METHOD 3.a + request can be send using POST METHOD with "Post" button/ 4. XML acquired in asyncronous mode. хотелось бы разобраться... |
| acsid Alfa Guru 2388 |
# Дата: 19 Июн 2006 13:10 smallcms так так так .. хм вопрос сложный , но разрешимый кароче обьясни по подробенее и русским язаком а то я несовсем понял что должно произойти после запроса.и каким макаром ты хочеш вызвать запрос. кусок дхтмл кода посмотреть тоже можно |
| acsid Alfa Guru 2388 |
# Дата: 19 Июн 2006 13:14 » smallcms можно ли яваскриптами открыть внешний файл? на сколько я знаю раньше нельзя было, а с приходом XML и AJAX мало ли... это возможно » smallcms нужно ввести адрес XML документа, который занесётся (динамически, я так понимаю) в сам документ.это я непонял вообще))) обьясни |
| acsid Alfa Guru 2388 |
# Дата: 19 Июн 2006 13:52 я думаю схема такая: загружается страница в ней форма и текстовый инпут.Юзер пишет адрес и если на жимает кнопку гет запрос идет через аякс через гет метод в туже страницу и через функцию открывает внешний фаил.Если он нажал кнопку пост ..хм как отправить туже форму тока постом????))))) кароче основная замута в этом |
| niko Участник 285 |
# Дата: 19 Июн 2006 13:54 smallcms ява скрапт не умеет открывать внешних файлов |
| acsid Alfa Guru 2388 |
# Дата: 19 Июн 2006 14:01 ° Поправил: acsid niko мне кажется , что если адрес будет правильным ,то фаил откроется и занесётся в докумет буз проблем..через пхп функцию вызванную аяксом |
| smallcms Участник 2754 |
# Дата: 19 Июн 2006 15:20 суть: создать AJAX XML Viewer есть форма. вводим адрес. нам через Microsoft.XMLHTTP загружается xml файл и красиво так отображается. да ещё и на ошибки в загруженном xml указывает. то есть это просмотрщик файлов. но он должен быть аяксовый. никаких пхп. никаких перезагрузов. только динамика и всё тут. спасибо, Дрон, я уже начал разбираться. единственное что вот уточнить хочется пока что: мне нужно грузить весь файл в переменную и там уже кромсать или есть какая-нить построчная или по хэшу (ключ=>значение) функция? зы: постом - это для извергов-метилалкоголиков... так что POST проехали. мучаю GET и обработку полученных данных... |
| smallcms Участник 2754 |
# Дата: 19 Июн 2006 15:28 и что значит асинхронно? асинхронно от чего? компа? Земли? здравого смысла? ну вот пример ниже - это асинхронный вызов?
<html>
<head>
<title>Использование Ajax</title>
<script language="javascript">
var XMLHttpRequestObject = false;
if (window.XMLHttpRequest) {
XMLHttpRequestObject = new XMLHttpRequest();
} else if (window.ActiveXObject) {
XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}
function getAjax(data, div){
if(XMLHttpRequestObject) {
var obj = document.getElementById(div);
XMLHttpRequestObject.open("GET", data);
XMLHttpRequestObject.onreadystatechange = function()
{
if (XMLHttpRequestObject.readyState == 4 &&
XMLHttpRequestObject.status == 200) {
obj.innerHTML = XMLHttpRequestObject.responseText;
}
}
XMLHttpRequestObject.send(null);
}
}
</script>
</head>
<body>
<H1>Пример Ajax</H1>
<form>
<input type = button value = "Проверить" onclick = getAjax('http://sysne |
| acsid Alfa Guru 2388 |
# Дата: 19 Июн 2006 15:29 ° Поправил: acsid smallcms » smallcms должен быть аяксовый. никаких пхпкак это ты без пхп обойдёшься? суть аякса в том чтобы с помощью хмл запроса запустить не весь код а отдельную пхп функцию на сервере и получить обратный ответ с результатом , который впихнётся в страницу без перезагрузки .Тобиж без пхп тут никак. а нащет парсинга хмл это пипец))) я так досихпор и незнаю как это делать правильно , вот пример моего очень не рационального кода: бл* не поместился.. |
| acsid Alfa Guru 2388 |
# Дата: 19 Июн 2006 15:33 <?php error_reporting(0); if(INC!=1)die("Попытка взлома!"); if(DIZ!=1)die("Попытка взлома!"); echo"<tr valign=top><td height=341 valign=top><p align=justify> <table width=100% cellspacing='0' cellpadding='1' border='1' color=#444444>"; //--определяем город $Def_s="26038"; $Def_g="Таллинн"; $Def="$Def_s"."_1.xml"; if(!isset($_POST['city'])){ $Link="http://informer.gismeteo.ru/xml/$Def"; }else{ $CityId=trim($_POST['city']); $CityId=str_replace("selected","",$CityId); $lk="$CityId"."_1.xml"; $Link="http://informer.gismeteo.ru/xml/$lk"; } //запускаем класс,парсим хмл $p =& new xmlParser(); $p->parse("$Link"); //Парсим массив полученных данных $n=0; $d=0; $t=0; foreach($p->output as $val) { foreach($val as $val1) { foreach($val1 as $val2) { foreach($val2 as $val3) { foreach($val3 as $val4) { foreach($val4 as $val5) { foreach($val5 as $val6) { //---------------------------------town_id,name,logitude,lititude--------------- ----- $n++; if($n==1){$town_id=$val6;} if($n==2){$town_name=utf8_decode($val6);} if($n==3){$lititude=$val6;} if($n==4){$longitude=$val6;} foreach($val6 as $val7) { foreach($val7 as $val8) { //---------------------------------day,mouth,year,weekday,hour------------------ -- $d++; //morning if($d==1){$day=$val8;} if($d==2){$moth=$val8;} if($d==3){$year=$val8;} if($d==4){$hour=$val8;} if($d==5){$tod=$val8;}//время суток, для которого составлен прогноз: 0 - ночь 1 - утро, 2 - день, 3 - вечер if($d==6){$predict=$val8;}//заблаговременность прогноза в часах if($d==7){$weekday=$val8;}//день недели, 1 - воскресенье, 2 - понедельник, и т.д. //day if($d==14){$day1=$val8;} if($d==15){$moth1=$val8;} if($d==16){$year1=$val8;} if($d==17){$hour1=$val8;} if($d==18){$tod1=$val8;} if($d==19){$predict1=$val8;} if($d==20){$weekday1=$val8;} //evening |
| acsid Alfa Guru 2388 |
# Дата: 19 Июн 2006 15:34 if($d==27){$day2=$val8;} if($d==28){$moth2=$val8;} if($d==29){$year2=$val8;} if($d==30){$hour2=$val8;} if($d==31){$tod2=$val8;} if($d==32){$predict2=$val8;} if($d==33){$weekday2=$val8;} //night if($d==40){$day3=$val8;} if($d==41){$moth3=$val8;} if($d==42){$year3=$val8;} if($d==43){$hour3=$val8;} if($d==44){$tod3=$val8;} if($d==45){$predict3=$val8;} if($d==46){$weekday3=$val8;} foreach($val8 as $val9) { foreach($val9 as $val10) { //---------------------------------temperature,wind,cloudiness and so on-------------------- $t++; //morning if($t==1){$cloudiness=$val10;} if($t==2){$precipitation=$val10;} if($t==3){$rpower=$val10;} if($t==4){$spower=$val10;} if($t==5){$pressure_max=$val10;} if($t==6){$pressure_min=$val10;} if($t==7){$temperature_max=$val10;} if($t==8){$temperature_min=$val10;} if($t==9){$wind_min=$val10;} if($t==10){$wind_max=$val10;} if($t==11){$wind_direction=$val10;} if($t==12){$relwet_max=$val10;} if($t==13){$relwet_min=$val10;} if($t==14){$heat_min=$val10;} if($t==15){$heat_max=$val10;} //day if($t==16){$cloudiness1=$val10;}//облачность по градациям: 0 - ясно, 1- малооблачно, 2 - облачно, 3 - пасмурно if($t==17){$precipitation1=$val10;}// 4-дождь,5-ливень,6,7–снег,8-гроза,9-нет данных,10-без осадков if($t==18){$rpower1=$val10;}//нтенсивность осадков, если они есть. 0 - возможен дождь/снег, 1 - дождь/снег if($t==19){$spower1=$val10;}//вероятность грозы, если прогнозируется: 0 - возможна гроза, 1 - гроза if($t==20){$pressure_max1=$val10;}//атмосферное давление, в мм.рт.ст. max if($t==21){$pressure_min1=$val10;}//атмосферное давление, в мм.рт.ст. min if($t==22){$temperature_max1=$val10;}//температура воздуха, в градусах Цельсия max if($t==23){$temperature_min1=$val10;}//температура воздуха, в градусах Цельсия min if($t==24){$wind_min1=$val10;}//max минимальное и максимальное значения средней скорости ветра, без порывов if($t==25){$wind_max1=$val10;}//min минимальное и максимальное значения средней скорости ветра, без порывов if($t==26){$wind_direction1=$val10;}//направление ветра в румбах, 0 - северный, 1 - северо-восточный, и т.д. if($t==27){$relwet_max1=$val10;}//относительная влажность воздуха, в % max if($t==28){$relwet_min1=$val10;}//относительная влажность воздуха, в % min if($t==29){$heat_min1=$val10;}//комфор-температура воздуха по ощущению одетого по сезону человека, на улице if($t==30){$heat_max1=$val10;}//комфор-температура воздуха по ощущению одетого по сезону человека, на улице //evening if($t==31){$cloudiness2=$val10;} if($t==32){$precipitation2=$val10;} if($t==33){$rpower2=$val10;} if($t==34){$spower2=$val10;} if($t==35){$pressure_max2=$val10;} if($t==36){$pressure_min2=$val10;} if($t==37){$temperature_max2=$val10;} if($t==38){$temperature_min2=$val10;} if($t==39){$wind_min2=$val10;} if($t==40){$wind_max2=$val10;} if($t==41){$wind_direction2=$val10;} if($t==42){$relwet_max2=$val10;} if($t==43){$relwet_min2=$val10;} if($t==44){$heat_min2=$val10;} if($t==45){$heat_max2=$val10;} //night |
| acsid Alfa Guru 2388 |
# Дата: 19 Июн 2006 15:34 if($t==46){$cloudiness3=$val10;} if($t==47){$precipitation3=$val10;} if($t==48){$rpower3=$val10;} if($t==49){$spower3=$val10;} if($t==50){$pressure_max3=$val10;} if($t==51){$pressure_min3=$val10;} if($t==52){$temperature_max3=$val10;} if($t==53){$temperature_min3=$val10;} if($t==54){$wind_min3=$val10;} if($t==55){$wind_max3=$val10;} if($t==56){$wind_direction3=$val10;} if($t==57){$relwet_max3=$val10;} if($t==58){$relwet_min3=$val10;} if($t==59){$heat_min3=$val10;} if($t==60){$heat_max3=$val10;} } } } } } } } } } } } //приводим данные из массива в нормальный понятный номальному человеку вид switch($tod) {// 0 - ночь 1 - утро, 2 - день, 3 - вечер case '0': $Tod="Ночь"; break; case '1': $Tod="Утро"; break; case '2': $Tod="День"; break; case '3': $Tod="Вечер"; break; } switch($tod1) { case '0': $Tod1="Ночь"; break; case '1': $Tod1="Утро"; break; case '2': $Tod1="День"; break; case '3': $Tod1="Вечер"; break; } switch($tod2) { case '0': $Tod2="Ночь"; break; case '1': $Tod2="Утро"; break; case '2': $Tod2="День"; break; case '3': $Tod2="Вечер"; break; } switch($tod3) { case '0': $Tod3="Ночь"; break; case '1': $Tod3="Утро"; break; case '2': $Tod3="День"; break; case '3': $Tod3="Вечер"; break; } |
| acsid Alfa Guru 2388 |
# Дата: 19 Июн 2006 15:35 switch($weekday) {//день недели case '1': $Weekday="Воскресенье"; break; case '2': $Weekday="Понедельник"; break; case '3': $Weekday="Вторник"; break; case '4': $Weekday="Среда"; break; case '5': $Weekday="Четверг"; break; case '6': $Weekday="Пятница"; break; case '7': $Weekday="Суббота"; break; } switch($weekday1) { case '1': $Weekday1="Воскресенье"; break; case '2': $Weekday1="Понедельник"; break; case '3': $Weekday1="Вторник"; break; case '4': $Weekday1="Среда"; break; case '5': $Weekday1="Четверг"; break; case '6': $Weekday1="Пятница"; break; case '7': $Weekday1="Суббота"; break; } switch($weekday2) { case '1': $Weekday2="Воскресенье"; break; case '2': $Weekday2="Понедельник"; break; case '3': $Weekday2="Вторник"; break; case '4': $Weekday2="Среда"; break; case '5': $Weekday2="Четверг"; break; case '6': $Weekday2="Пятница"; break; case '7': $Weekday2="Суббота"; break; } switch($weekday3) { case '1': $Weekday3="Воскресенье"; break; case '2': $Weekday3="Понедельник"; break; case '3': $Weekday3="Вторник"; break; case '4': $Weekday3="Среда"; break; case '5': $Weekday3="Четверг"; break; case '6': $Weekday3="Пятница"; break; case '7': $Weekday3="Суббота"; break; } //облачность по градациям: 0 - ясно, 1- малооблачно, 2 - облачно, 3 - пасмурно switch($cloudiness) { case '0': $Сloudiness="<img src='images/pogoda/yasno.gif' alt='Ясно' /><br>Ясно"; break; case '1': $Сloudiness="<img src='images/pogoda/malooblachno.gif' alt='Малооблачно' /><br>Малооблачно"; break; case '2': $Сloudiness="<img src='images/pogoda/oblachno.gif' alt='Облачно' /><br>Облачно"; break; case '3': $Сloudiness="<img src='images/pogoda/pasmurno.gif' alt='Пасмурно' /><br>Пасмурно"; break; } switch($cloudiness1) { case '0': $Сloudiness1="<img src='images/pogoda/yasno.gif' alt='Ясно' /><br>Ясно"; break; case '1': $Сloudiness1="<img src='images/pogoda/malooblachno.gif' alt='Малооблачно' /><br>Малооблачно"; break; case '2': $Сloudiness1="<img src='images/pogoda/oblachno.gif' alt='Облачно' /><br>Облачно"; break; case '3': $Сloudiness1="<img src='images/pogoda/pasmurno.gif' alt='Пасмурно' /><br>Пасмурно"; break; } |
| acsid Alfa Guru 2388 |
# Дата: 19 Июн 2006 15:36 switch($cloudiness2) { case '0': $Сloudiness2="<img src='images/pogoda/yasno.gif' alt='Ясно' /><br>Ясно"; break; case '1': $Сloudiness2="<img src='images/pogoda/malooblachno.gif' alt='Малооблачно' /><br>Малооблачно"; break; case '2': $Сloudiness2="<img src='images/pogoda/oblachno.gif' alt='Облачно' /><br>Облачно"; break; case '3': $Сloudiness2="<img src='images/pogoda/pasmurno.gif' alt='Пасмурно' /><br>Пасмурно"; break; } switch($cloudiness3) { case '0': $Сloudiness3="<img src='images/pogoda/yasno.gif' alt='Ясно' /><br>Ясно"; break; case '1': $Сloudiness3="<img src='images/pogoda/malooblachno.gif' alt='Малооблачно' /><br>Малооблачно"; break; case '2': $Сloudiness3="<img src='images/pogoda/oblachno.gif' alt='Облачно' /><br>Облачно"; break; case '3': $Сloudiness3="<img src='images/pogoda/pasmurno.gif' alt='Пасмурно' /><br>Пасмурно"; break; } // 4-дождь,5-ливень,6,7–снег,8-гроза,9-нет данных,10-без осадков switch($precipitation) { case '4': $Precipitation="<img src='images/pogoda/dozhd.gif' alt='Дождь'/>"; break; case '5': $Precipitation="<img src='images/pogoda/liven.gif' alt='Ливень'/>"; break; case '6': $Precipitation="<img src='images/pogoda/snow.gif' alt='Снег'/>"; break; case '7': $Precipitation="<img src='images/pogoda/snow.gif' alt='Мокрый Снег'/>"; break; case '8': $Precipitation="<img src='images/pogoda/no_data.gif' alt='Гроза'/>"; //вероятность грозы, если прогнозируется: 0 - возможна гроза, 1 - гроза switch($spower) { case '0': $Spower="<br>Возможна гроза"; break; case '1': $Spower="<br>Гроза"; break; } break; case '9': $Precipitation="<br>Нет данных"; break; case '10': $Precipitation="<br>Без осадков"; break; } //итенсивность осадков, если они есть. 0 - возможен дождь/снег, 1 - дождь/снег |
| acsid Alfa Guru 2388 |
# Дата: 19 Июн 2006 15:37 if($precipitation!="9" && $precipitation!="10"){ if($precipitation=="4" or $precipitation=="5" or $precipitation=="8"){ switch($rpower) { case '0': $Rpower="<br>Возможен дождь"; break; case '1': $Rpower="<br>Дождь"; break; } }else if($precipitation=="6" or $precipitation=="7"){ switch($rpower) { case '0': $Rpower="<br>Возможен снег"; break; case '1': $Rpower="<br>Снег"; break; } } } switch($precipitation1) { case '4': $Precipitation1="<img src='images/pogoda/dozhd.gif' alt='Дождь'/>"; break; case '5': $Precipitation1="<img src='images/pogoda/liven.gif' alt='Ливень'/>"; break; case '6': $Precipitation1="<img src='images/pogoda/snow.gif' alt='Снег'/>"; break; case '7': $Precipitation1="<img src='images/pogoda/snow.gif' alt='Мокрый Снег'/>"; break; case '8': $Precipitation1="<img src='images/pogoda/no_data.gif' alt='Гроза'/>"; //вероятность грозы, если прогнозируется: 0 - возможна гроза, 1 - гроза switch($spower1) { case '0': $Spower1="<br>Возможна гроза"; break; case '1': $Spower1="<br>Гроза"; break; } break; case '9': $Precipitation1="<br>Нет данных"; break; case '10': $Precipitation1="<br>Без осадков"; break; } //итенсивность осадков, если они есть. 0 - возможен дождь/снег, 1 - дождь/снег if($precipitation1!="9" && $precipitation1!="10"){ if($precipitation1=="4" or $precipitation1=="5" or $precipitation1=="8"){ switch($rpower1) { case '0': $Rpower1="<br>Возможен дождь"; break; case '1': $Rpower1="<br>Дождь"; break; } }else if($precipitation1=="6" or $precipitation1=="7"){ switch($rpower1) { case '0': $Rpower1="<br>Возможен снег"; break; case '1': $Rpower1="<br>Снег"; break; } } } switch($precipitation2) { case '4': $Precipitation2="<img src='images/pogoda/dozhd.gif' alt='Дождь'/>"; break; case '5': $Precipitation2="<img src='images/pogoda/liven.gif' alt='Ливень'/>"; break; case '6': $Precipitation2="<img src='images/pogoda/snow.gif' alt='Снег'/>"; break; case '7': $Precipitation2="<img src='images/pogoda/snow.gif' alt='Мокрый Снег'/>"; break; case '8': $Precipitation2="<img src='images/pogoda/no_data.gif' alt='Гроза'/>"; //вероятность грозы, если прогнозируется: 0 - возможна гроза, 1 - гроза switch($spower2) { case '0': $Spower2="<br>Возможна гроза"; break; case '1': $Spower2="<br>Гроза"; break; } break; case '9': $Precipitation2="<br>Нет данных"; break; case '10': $Precipitation2="<br>Без осадков"; break; } //итенсивность осадков, если они есть. 0 - возможен дождь/снег, 1 - дождь/снег |
| acsid Alfa Guru 2388 |
# Дата: 19 Июн 2006 15:37 if($precipitation2!="9" && $precipitation2!="10"){ if($precipitation2=="4" or $precipitation2=="5" or $precipitation2=="8"){ switch($rpower2) { case '0': $Rpower2="<br>Возможен дождь"; break; case '1': $Rpower2="<br>Дождь"; break; } }else if($precipitation2=="6" or $precipitation2=="7"){ switch($rpower2) { case '0': $Rpower2="<br>Возможен снег"; break; case '1': $Rpower2="<br>Снег"; break; } } } switch($precipitation3) { case '4': $Precipitation3="<img src='images/pogoda/dozhd.gif' alt='Дождь'/>"; break; case '5': $Precipitation3="<img src='images/pogoda/liven.gif' alt='Ливень'/>"; break; case '6': $Precipitation3="<img src='images/pogoda/snow.gif' alt='Снег'/>"; break; case '7': $Precipitation3="<img src='images/pogoda/snow.gif' alt='Мокрый Снег'/>"; break; case '8': $Precipitation3="<img src='images/pogoda/no_data.gif' alt='Гроза'/>"; //вероятность грозы, если прогнозируется: 0 - возможна гроза, 1 - гроза switch($spower3) { case '0': $Spower3="<br>Возможна гроза"; break; case '1': $Spower3="<br>Гроза"; break; } break; case '9': $Precipitation3="<br>Нет данных"; break; case '10': $Precipitation3="<br>Без осадков"; break; } //итенсивность осадков, если они есть. 0 - возможен дождь/снег, 1 - дождь/снег if($precipitation3!="9" && $precipitation3!="10"){ if($precipitation3=="4" or $precipitation3=="5" or $precipitation3=="8"){ switch($rpower3) { case '0': $Rpower3="<br>Возможен дождь"; break; case '1': $Rpower3="<br>Дождь"; break; } }else if($precipitation3=="6" or $precipitation3=="7"){ switch($rpower3) { case '0': $Rpower3="<br>Возможен снег"; break; case '1': $Rpower3="<br>Снег"; break; } } } //направление ветра в румбах, 0 - северный, 1 - северо-восточный, и т.д. switch($wind_direction) { case '0': $Wind_direction="Северный"; break; case '1': $Wind_direction="Северо-восточный"; break; case '2': $Wind_direction="Восточный"; break; case '3': $Wind_direction="Юго-Восточный"; break; case '4': $Wind_direction="Южный"; break; case '5': $Wind_direction="Юго-западный"; break; case '6': $Wind_direction="Западный"; break; case '7': $Wind_direction="Северо-западный"; break; } |
| acsid Alfa Guru 2388 |
# Дата: 19 Июн 2006 15:38 switch($wind_direction1) { case '0': $Wind_direction1="Северный"; break; case '1': $Wind_direction1="Северо-восточный"; break; case '2': $Wind_direction1="Восточный"; break; case '3': $Wind_direction1="Юго-Восточный"; break; case '4': $Wind_direction1="Южный"; break; case '5': $Wind_direction1="Юго-западный"; break; case '6': $Wind_direction1="Западный"; break; case '7': $Wind_direction1="Северо-западный"; break; } switch($wind_direction2) { case '0': $Wind_direction2="Северный"; break; case '1': $Wind_direction2="Северо-восточный"; break; case '2': $Wind_direction2="Восточный"; break; case '3': $Wind_direction2="Юго-Восточный"; break; case '4': $Wind_direction2="Южный"; break; case '5': $Wind_direction2="Юго-западный"; break; case '6': $Wind_direction2="Западный"; break; case '7': $Wind_direction2="Северо-западный"; break; } switch($wind_direction3) { case '0': $Wind_direction3="Северный"; break; case '1': $Wind_direction3="Северо-восточный"; break; case '2': $Wind_direction3="Восточный"; break; case '3': $Wind_direction3="Юго-Восточный"; break; case '4': $Wind_direction3="Южный"; break; case '5': $Wind_direction3="Юго-западный"; break; case '6': $Wind_direction3="Западный"; break; case '7': $Wind_direction3="Северо-западный"; break; } switch($moth) { case '1': $Moth="Января"; break; case '2': $Moth="Февраля"; break; case '3': $Moth="Марта"; break; case '4': $Moth="Апреля"; break; case '5': $Moth="Мая"; break; case '6': $Moth="Июня"; break; case '7': $Moth="Июля"; break; case '8': $Moth="Августа"; break; case '9': $Moth="Сентября"; break; case '10': $Moth="Октября"; break; case '11': $Moth="Ноября"; break; case '12': $Moth="Декабря"; break; } switch($moth1) { case '1': $Moth1="Января"; break; case '2': $Moth1="Февраля"; break; case '3': $Moth1="Марта"; break; case '4': $Moth1="Апреля"; break; case '5': $Moth1="Мая"; break; case '6': $Moth1="Июня"; break; case '7': $Moth1="Июля"; break; case '8': $Moth1="Августа"; break; case '9': $Moth1="Сентября"; break; case '10': $Moth1="Октября"; break; case '11': $Moth1="Ноября"; break; case '12': $Moth1="Декабря"; break; } switch($moth2) { case '1': $Moth2="Января"; break; case '2': $Moth2="Февраля"; break; case '3': $Moth2="Марта"; break; case '4': $Moth2="Апреля"; break; case '5': $Moth2="Мая"; break; case '6': $Moth2="Июня"; break; case '7': $Moth2="Июля"; break; case '8': $Moth2="Августа"; break; case '9': $Moth2="Сентября"; break; case '10': $Moth2="Октября"; break; case '11': $Moth2="Ноября"; break; case '12': $Moth2="Декабря"; break; } switch($moth3) { case '1': $Moth3="Января"; break; case '2': $Moth3="Февраля"; break; case '3': $Moth3="Марта"; break; case '4': $Moth3="Апреля"; break; case '5': $Moth3="Мая"; break; case '6': $Moth3="Июня"; break; case '7': $Moth3="Июля"; break; case '8': $Moth3="Августа"; break; case '9': $Moth3="Сентября"; break; case '10': $Moth3="Октября"; break; case '11': $Moth3="Ноября"; break; case '12': $Moth3="Декабря"; break; } //-----------------------выводим данные---------------------------------------------------- |
| acsid Alfa Guru 2388 |
# Дата: 19 Июн 2006 15:39 print" <center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>"; //---выводим список городов и форму----------------- print" <FORM action=?module=weather&file=index method=post> <center>Выберити город: <SELECT name=city onChange='this.form.submit()'>"; $Gorod=$Def_g; $Id=$Def_s; $City="$datafolder/weather.php"; $City_Arr=file($City); $City_count=count($City_Arr); for($i=0;$i<$City_count;$i++){ $id=explode("<!>",$City_Arr[$i]); if(isset($_POST['city']) && trim($_POST['city'])==$id[0]){ unset ($Gorod); unset ($Id); $Gorod=$id[1]; $Id=$id[0]; } echo"<OPTION style='font: 9px tahoma, sans-serif; COLOR: #444444' value='$id[0]'>$id[1]</OPTION>"; } print"</SELECT></form><p>"; //-------------------выводим прогноз погоды print"<br><b>Прогноз погоды на сутки город: $Gorod</b><br> <tr bgcolor=#f3f3f3> <td width=60 style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'> </td> <td width=120 align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'> $Tod<br/>$day $Moth $year<br/>$Weekday</td> <td width=100 align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'> $Tod1<br/>$day1 $Moth1 $year<br/>$Weekday1</td> <td width=100 align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'> $Tod2<br/>$day2 $Moth2 $year<br/>$Weekday2</td> <td width=100 align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'> $Tod3<br/>$day3 $Moth3 $year<br/>$Weekday3</td> </tr> <tr> <td width=120 style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'> Прогноз сделан в</td> <td width=100 align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>$hour часов</td> <td width=100 align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>$hour1 часов</td> <td width=100 align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>$hour2 часов</td> <td width=100 align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>$hour3 часов</td> </tr> <tr bgcolor=#f3f3f3> <td width=120 style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'> Актуален ещё</td> <td width=100 align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>$predict часов</td> <td width=100 align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>$predict1 часов</td> <td width=100 align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>$predict2 часов</td> <td width=100 align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>$predict3 часов</td> </tr> <tr> <td style='vertical-align: middle;' style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'> Температура, °C</td> <td align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>$temperature_min...$temperature_max</td> <td align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>$temperature_min1...$temperature_max1</td> <td align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>$temperature_min2...$temperature_max2</td> <td align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>$temperature_min3...$temperature_max3</td> </tr> <tr bgcolor=#f3f3f3> <td style='vertical-align: top;' style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'> Давление, мм рт. ст.</td> <td align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>$pressure_min - $pressure_max</td> <td align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>$pressure_min1 - $pressure_max1</td> <td align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>$pressure_min2 - $pressure_max2</td> <td align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>$pressure_min3 - $pressure_max3</td> </tr> <tr> <td style='vertical-align: top;' style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'> Отн.влажность воздуха, %</td> <td align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>$relwet_min - $relwet_max</td> <td align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>$relwet_min1 - $relwet_max1</td> <td align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>$relwet_min2 - $relwet_max2</td> <td align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>$relwet_min3 - $relwet_max3</td> </tr> <tr bgcolor=#f3f3f3> <td style='vertical-align: middle;' style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'> Облачность</td> <td align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>$Сloudiness</td> <td align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>$Сloudiness1</td> <td align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>$Сloudiness2</td> <td align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>$Сloudiness3</td> </tr> <tr> <td style='vertical-align: middle;' style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'> Осадки</td> <td align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>$Precipitation $Spower $Rpower</td> <td align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>$Precipitation1 $Spower1 $Rpower1</td> <td align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>$Precipitation2 $Spower2 $Rpower2</td> <td align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>$Precipitation3 $Spower3 $Spower3</td> </tr> <tr bgcolor=#f3f3f3> <td style='vertical-align: middle;' style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'> Напр. и скорость ветра, м/с</td> <td align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'> <img src='images/pogoda/wind.gif'><br>$Wind_direction <br>$wind_min-$wind_max m/s</td> <td align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'> <img src='images/pogoda/wind.gif'><br>$Wind_direction1 <br>$wind_min1-$wind_max1 m/s</td> <td align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'> <img src='images/pogoda/wind.gif'><br>$Wind_direction2 <br>$wind_min2-$wind_max2 m/s</td> <td align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'> <img src='images/pogoda/wind.gif'><br>$Wind_direction3 <br>$wind_min3-$wind_max3 m/s</td> </tr> <tr> <td style='vertical-align: middle;' style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'> Комфорт, °С</td> <td align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>$heat_min...$heat_max</td> <td align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>$heat_min1...$heat_max1</td> <td align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>$heat_min2...$heat_max2</td> <td align=center style='font: 9; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>$heat_min3...$heat_max3</td> </tr>"; echo"</table> <div align=right style='font: 10; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'> © <a href='http://gismeteo.ru' target=_blank style='font: 10; FONT-FAMILY: tahoma, sans-serif;' title='Прогноз погоды от ФОБОС' target=_blank>Погода от ФОБОС</a></div> <div align=center style='font: 12; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>Погода для города: $Gorod <a href='http://weather |
| acsid Alfa Guru 2388 |
# Дата: 19 Июн 2006 15:39 <div align=center style='font: 12; FONT-FAMILY: tahoma, sans-serif; COLOR: #444444;'>Погода для города: $Gorod <a href='http://weather.yandex.ru/city.xml?print=1&city=$Id' target=_blank><u>на неделю</u></a>.<small> © <a href='http://yandex.ru' target=_blank>yandex.ru</a></small></div> <br>"; //------------------------------------------xml parser class--------------------------------------------------- class xmlParser{ var $xml_obj = null; var $output = array(); function xmlParser(){ $this->xml_obj = xml_parser_create(); xml_set_object($this->xml_obj,$this); xml_set_character_data_handler($this->xml_obj, 'dataHandler'); xml_set_element_handler($this->xml_obj, "startHandler", "endHandler"); } function parse($path){ if (!($fp = fopen($path, "r"))) { die("Cannot open XML data file: $path"); return false; } while ($data = fread($fp, 4096)) { if (!xml_parse($this->xml_obj, $data, feof($fp))) { die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($this->xml_obj)), xml_get_current_line_number($this->xml_obj))); xml_parser_free($this->xml_obj); } } return true; } function startHandler($parser, $name, $attribs){ $_content = array('name' => $name); if(!empty($attribs)) $_content['attrs'] = $attribs; array_push($this->output, $_content); } function dataHandler($parser, $data){ if(!empty($data)) { $_output_idx = count($this->output) - 1; $this->output[$_output_idx]['content'] = $data; } } function endHandler($parser, $name){ if(count($this->output) > 1) { $_data = array_pop($this->output); $_output_idx = count($this->output) - 1; $this->output[$_output_idx]['child'][] = $_data; } } } ?> |
| smallcms Участник 2754 |
# Дата: 19 Июн 2006 15:42 ойрпт!!! )))) мне не нужно "лечить" xml. мне его просто на экран нужно вывести.))) тупо закинуть в <div> проверить все ли тэги <tag /> закрыты. сосчитать ошибки и пить пиво)))) |
| acsid Alfa Guru 2388 |
# Дата: 19 Июн 2006 15:43 кароче не называй меня маньяком))) пхп открывает удалённй хмл фаил с фобоса ..куда они в хмл виде сбрасывают погоду.Хмл класс в самом низу кода парсит этот фаил и выдаёт не реальный 20 этажный массив.Потом с помощью 40 циклов я обхожу этот массив и опеределяю нужные мне переменные в каждом цикле.. а потом привожу их значения в человеческий вид а потом отражаю в таблицу.Вот тебе пример парсинг хмл. Не называй меня маньяком... ![]() |
| acsid Alfa Guru 2388 |
# Дата: 19 Июн 2006 15:44 smallcms хм тогда можешь даже не вдумывацца в эту по*бень написанную с похмела ![]() |
| acsid Alfa Guru 2388 |
# Дата: 19 Июн 2006 15:47 smallcms к сожалению ай донт нов хай ту проверить хмл ) |
| acsid Alfa Guru 2388 |
# Дата: 19 Июн 2006 15:50 smallcms а ты не пробовал узать классы с оф саита аякса? там всё универсально сделано, настолко что возможно невозможное |
| niko Участник 285 |
# Дата: 19 Июн 2006 15:54 короче смотрите это Создание сайтов с использованием AJaX Создание сайтов всё чаще и чаще подразумевает использование технологии AJaX (асинхронный яваскрипт и XML). Используя указанную технологию, можно легко сделать из вашего сайта интерактивный центр, преобразовав его в персональный менеджер-напоминалку, полноценный почтовый клиент или приложение для ведения бухгалтерии. Суть технологии AJaX заключается в том, что пользователю нет необходимости перегружать всю страницу полностью, как это было раньше, поскольку после полной загрузки страницы соединение с сервером фактически остаётся неразорванным. Можно запрограммировать сайт так, что при клике на отдельные ссылки, будет перезагружаться только его часть, например, список новых писем. Стоит также отметить, что использование технологии AJaX позволит существенно экономить трафик ваших пользователей. Методики создания сайтов с использованием технологии AJaX Существует несколько методов создания сайтов с использованием технологии AJaX: * использование объекта XmlHttpRequest; * использование ActiveX компоненты от Microsoft; * использование невидимого плавающего фрейма; Рекомендуется использовать невидимый плавающий фрейм, поскольку первые две технологии не дают полного контроля над объектной моделью DOM. Кроме того, как вы понимаете, использование ActiveX компоненты от Microsoft, мало того, что запрещено на многих рабочих станциях, так еще и работает только в Internet Explorer. Итак, приступим и попробуем создать несложную реализацию AJaX при помощи невидимого фрейма. Давайте создадим JavaScript-функцию, которая будет переносить содержимое плавающего фрейма в нужный вам слой. 1 var AJaXSRC; 2 var AJaXTarget; 4 function initAJaX(obj) { 5 if (!AJaXTarget) AJaXTarget=&339;AJaXContent&339;; 6 if (!document.getElementById(AJaXTarget) || !document.getElementById(&339;AJaXFrameScripts&339 ) return false;
7 var parentScripts=obj.document.scripts; 8 if (!parentScripts) parentScripts=obj.document.getElementsByTagName(&339;script&339 ;
9 if (document.getElementById(AJaXTarget)) { 10 var Output = document.getElementById(AJaXTarget); 11 if (obj.document.body) document.getElementById(AJaXTarget).innerHTML = obj.document.body.innerHTML; 12 } 13 if (parentScripts) 14 for(i=0;i 15 document.getElementById("AJaXFrameScripts").text+=parentScripts[i].text; 16 return true; 17 } Разберем этот кусок JavaScript-кода. В переменной AJaXSRC будем хранить последний запрошенный URL. Она понадобится нам чуть позже. Перменная AJaXTarget содержит в себе id элемента, в который мы будем встраивать полученный HTML-код. На 5-й странице проверяется, установлена ли переменная AJaXTarget, которая отвечает за то, в какой объект вставлять полученный HTML-код. В случае, если переменная не задана, ей будет присвоено значение по умолчанию "AJaXContent". На 6-й строке проверяется, существуют ли в объектной модели DOM элементы с идентификаторами AJaXTarget и "AJaXFrameScripts". На 7-8-й строках в массив parentScripts записываются все элементы вида из дочернего окна. Как правило, эта возможность не используется, тем не менее, если вам необходимо загрузить документ, который содержит в себе помимо HTML кода, еще и JavaScript, этот код вам поможет. На 9-12-й строках HTML код, содержащийся в элементе с идентификатором AJaXTarget (по-умолчанию, "AJaXContent"), заменяется на HTML код, загруженный в плавающий фрейм. На 13-15-й строках перемещаются все скрипты. Теперь можно смело загружать в слой с идентификатором "AJaXContent" любую страницу. Всё, что для этого нужно сделать - создать гиперссылку, указав ей target="AJaXIOFrame". При необходимости, можно также добавить в гиперссылку аттрибут onclick="AJaXTarget=&339;OtherAJaXDiv&339;", если хотите, чтобы загруженная в невидимый фрейм страница переносилась не в слой "AJaXContent", а в объект с идентификатором "OtherAJaXContent". Вот и всё, ничего сложного, как видите. Если разобраться, как следует, то становится ясно, что использование невидимого фрейма и полноценный доступ к объектной модели DOM внутри этого фрейма позволяет вытворять просто чудеса. интересная штука потом изучу щас пока времени нет |
| acsid Alfa Guru 2388 |
# Дата: 19 Июн 2006 16:03 ° Поправил: acsid niko ну правильно а я о чём но нащет фреима я несогласен.. можна и без дума обойтись..есть одна мааленькая загвоздка .. |
| niko Участник 285 |
# Дата: 19 Июн 2006 16:21 вот еще http://www-128.ibm.com/developerworks/ru/library/wa-ajaxintro3/ |
| acsid Alfa Guru 2388 |
# Дата: 19 Июн 2006 22:05 niko проблема не в аяксе, как его сделать smallcms знает |
| Михаил Я знаю людей... 2551 |
# Дата: 19 Июн 2006 23:15 ° Поправил: Михаил » acsid кароче не называй меня маньяком))acsid'ы-маньяки на острие атаки... smallcms Как успехи? niko Спасибо за ссылочку, кое-что надо было. |
| . 1 . 2 . >> |
|
Powered by miniBB forum software © 2001-2008
Powered by miniBB-gzipper. Original size:99209, gzipped size:20252 |