Ajax-PHP-MYSQL
Hali, van egy adatbázisom, abban egy tábla location, ebben va country, city mezők, egymás mellett. Minden városhoz az országa kerül be, így egy ország annyiszorszerepel ahány városa van, de nem ez a lényeg.
Szeretném ajaxal megoldani hogy mikor elhagyták a country selector elemet, annak az értékével keresse meg az összes várost adatbázisból, és alatta jelenítse meg a városokat ugyan így select elemen keresztül, de valamiért nemmegy.
PHP KÓD:Ajax kód:A cityben csak enyi van:
■ Szeretném ajaxal megoldani hogy mikor elhagyták a country selector elemet, annak az értékével keresse meg az összes várost adatbázisból, és alatta jelenítse meg a városokat ugyan így select elemen keresztül, de valamiért nemmegy.
PHP KÓD:
<tr><td class="regtd">Country:</td><td><select class="reg" name="country" id="country" onblur="getcity(this.value)">
<?php
include('database.php');
$select=mysql_query("SELECT * FROM location",$con);
$tar="";
while ($rows=mysql_fetch_array($select)){
if ($rows[country]!=$tar){
print("<option>".$rows[country]."</option>");
$tar=$rows[country];}
}
?>
</select></td><td></td></tr>
function getHTTPObject(){
if (window.ActiveXObject){
return new ActiveXObject("Microsoft.XMLHTTP");} //IE
else if (window.XMLHttpRequest){
return new XMLHttpRequest();}
else {
alert("Your browser does not support AJAX.");
return null;}
}
// Change the value of the city field
function setOutput(){
if(httpObject.readyState == 4){
$("#city").load('city.php'); //a city id, a country selector alatti <td> elem.
}
}
// Implement business logic
function getcity(ertek){
httpObject = getHTTPObject();
if (httpObject != null) {
httpObject.open("GET", "city.php?country="+ertek, true);
httpObject.send(null);
httpObject.onreadystatechange = setOutput;
}
}
var httpObject = null;
<?php
$citys=mysql_query("SELECT city FROM location WHERE country='$_GET[country]' ORDER BY city",$con);
while($rows2=mysql_fetch_array($citys)){
print("<option>".$rows2[city]."</option>");
}
?>
Köszi a választ
jQuery