Ajax помощ

talevtehnology

Registered
Здравейте, искам да ви попитам как може да се направи като се сменят различните градове да не се рефрешва страницата със Ajax възможно ли е ? Разгледах предложения от admin урок
http://web-tourist.net/login/login/view.php?st=2942
но не мога да се досетя как да го направя.
Помагайте :)
Ето го и кода:
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> 
<title>vremeto</title> 
</head> 

<form method='POST'> 
<b>Град</b> <select name="selectcity" id="selectcity" style="width=270px" align="left"  onchange="submit()"> 

<option value="lid=100728193">Пловдив</option> 
<option value="lid=100727011">София</option> 
<option value="lid=100726050">Варна</option> 

</select> 
</form> 
<? 

$selectcity = empty($_POST['selectcity'])?"lid=100728193":$_POST['selectcity']; 

$connect = file_get_contents("http://sinoptik.bg/?$selectcity"); 

$city = explode("<td class=\"city\" height=\"39\" nowrap style=\"padding-top:10px;\"><b>", $connect); 
$city = explode("</b>", $city[1]); 
$city = iconv('utf-8','windows-1251',urldecode($city[0])); 

$temp1 = explode("<div id=\"temperature2\" class=\"fill\"><b>", $connect); 
$temp1 = explode("</b>", $temp1[1]); 
$temp1 = iconv('utf-8','windows-1251',urldecode($temp1[0])); 

$temp2 = explode("<div id=\"condition2\" class=\"fill\"><b>", $connect); 
$temp2 = explode("</b>", $temp2[1]); 
$temp2 = iconv('utf-8','windows-1251',urldecode($temp2[0])); 

$uset = explode("<b id=\"feelslike\" class=\"f24\">", $connect); 
$uset = explode("</b>", $uset[1]); 
$uset = iconv('utf-8','windows-1251',urldecode($uset[0])); 

echo "Температура: <B>$temp1, $temp2</B>"; 
echo "<Br />"; 
echo "Усеща се като <B>$uset</B>"; 
?> 
<script type="text/javascript"> 
document.getElementById("selectcity").value="<?=$selectcity?>"; 
</script> 
<body> 
</body> 
</html>
 
Просто бях сигурен, че ще зададеш този въпрос. Ето ти кода, но те съветвам първата част да е сложиш в отделен файл:

<?php
if ($_GET['ajax']==true) {

$connect = file_get_contents($_GET['lid']);

$city = explode("<td class=\"city\" height=\"39\" nowrap style=\"padding-top:10px;\"><b>", $connect);
$city = explode("</b>", $city[1]);
$city = urldecode($city[0]);

$temp1 = explode("<div id=\"temperature2\" class=\"fill\"><b>", $connect);
$temp1 = explode("</b>", $temp1[1]);
$temp1 = urldecode($temp1[0]);

$temp2 = explode("<div id=\"condition2\" class=\"fill\"><b>", $connect);
$temp2 = explode("</b>", $temp2[1]);
$temp2 = urldecode($temp2[0]);

$uset = explode("<b id=\"feelslike\" class=\"f24\">", $connect);
$uset = explode("</b>", $uset[1]);
$uset = urldecode($uset[0]);


echo
"
Град: <B>$city</B>
<Br />
Темепература: <B>$temp1, $temp2</B>
<Br />
Усеща се като <B>$uset</B>";



} else {
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>vremeto</title>
</head>


<script type="text/javascript">
function GetRemoteData(lid)

{
if (window.XMLHttpRequest)
{
filecontent = new XMLHttpRequest();
}
else
{
filecontent = new ActiveXObject("Microsoft.XMLHTTP");
}

filecontent.open("GET","?ajax=true&lid="+lid,false);

filecontent.send(null);

document.getElementById("forecast").innerHTML = filecontent.responseText;

}


</script>



<b>град</b>
<form method='POST'>
<select name="selectcity" id="selectcity" style="width=270px" align="left" color='#ff9900' onchange="GetRemoteData(this.value)">

<option value="http://sinoptik.bg/?lid=100728193">Пловдив</option>
<option value="http://sinoptik.bg/?lid=100727011">София</option>
<option value="http://sinoptik.bg/?lid=100726050">Варна</option>
<option value="http://sinoptik.bg/?lid=100732770">Бургас</option>
</select>
</form>
<br>
<hr>
<div id="forecast"></div>

<script type="text/javascript">
document.getElementById("selectcity").value="<?=$selectcity?>";
GetRemoteData("http://sinoptik.bg/?lid=100728193");
</script>
<body>
</body>
</html>
<?php
}
?>
 
Мерси madmax3 кое имащ предвид да е в отделен файл
Код:
<?php 
if ($_GET['ajax']==true) { 

$connect = file_get_contents($_GET['lid']); 

$city = explode("<td class=\"city\" height=\"39\" nowrap style=\"padding-top:10px;\"><b>", $connect); 
$city = explode("</b>", $city[1]); 
$city = urldecode($city[0]); 

$temp1 = explode("<div id=\"temperature2\" class=\"fill\"><b>", $connect); 
$temp1 = explode("</b>", $temp1[1]); 
$temp1 = urldecode($temp1[0]); 

$temp2 = explode("<div id=\"condition2\" class=\"fill\"><b>", $connect); 
$temp2 = explode("</b>", $temp2[1]); 
$temp2 = urldecode($temp2[0]); 

$uset = explode("<b id=\"feelslike\" class=\"f24\">", $connect); 
$uset = explode("</b>", $uset[1]); 
$uset = urldecode($uset[0]); 


echo 
" 
Град: <B>$city</B> 
<Br /> 
Темепература: <B>$temp1, $temp2</B> 
<Br /> 
Усеща се като <B>$uset</B>"; 



} else { 
?>
това трябва да е в отделен файл нали?

и другата част си я поставям в страницата където ще ми се показва нали?
и include-вам горния php фаил
И най важното е как мога да добавям още градове в смисал:
<option value="http://sinoptik.bg/?lid=100728193">Пловдив</option>
<option value="http://sinoptik.bg/?lid=100727011">София</option>
<option value="http://sinoptik.bg/?lid=100726050">Варна</option>
<option value="http://sinoptik.bg/?lid=100732770">Бургас</option>
Бургас за другите градове какво трябва да променям освен lid-ето
 

Back
Горе