PDA

View Full Version : Having problem php and ajax



xhtmlpress
14 Apr 2012, 07:37 AM
Hi,

I have some problem in ajax like i am not able to retrieve data through Ajax. Please look at the attachment pic to better understand the scenario. .
750
Here are three fields first one will go with State, second will go with the city within the state and third one is for the market's or showroom within the city. I can easily retrive the data till first 2 option. Like if i select the State A and then i can see all the cities under the state A but i am not able to get the output in the market section. As Ajax query have only one response variable. I have spent lot's of hour in this and now have give up. Please help me in this. I am attaching the both php and files to get it clear.

here is the main desiging file:

<!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>Untitled Document</title>
<script type="text/javascript">
function Action(link,md)
{

var obj,url;

url="dcode.php?mode="+md+"&id="+link;





try {

obj=new XMLHttpRequest();

}
catch(e)
{
try {
obj=new ActivexObject("Microsoft.XMLHTTP");

}

catch(e) {

alert(e);

}

}

obj.open("GET",url,true);
obj.send(null);
obj.onreadystatechange=function()
{
if(obj.readyState==4)
{

var res=obj.responseText;

alert(res);
document.getElementById("city").innerHTML=res;

}




}


}
</script>


<?


?>




</head>

<body>

<form action="dcode.php" method="get">
<table width="200" border="1" align="center">
<tr>
<th scope="row"><label>
<select name="state" id="state" style="width:150px;" onchange="Action(this.value,'state')">

<?
mysql_connect("localhost","root","") or die("check server");
mysql_select_db("students")or die("check database");

$str="select sno,sname from state";
$rs=mysql_query($str);

while(list($scode,$stname)=mysql_fetch_array($rs))
{

echo "<option value='$scode'>$stname</option>";

}
?>
</select>
</label></th>
</tr>
<tr>
<th scope="row"><label>
<select name="city" id="city" style="width:150px;" onchange="Action(this.value,'city')">
<option value="city">Select city</option>
<?
$str="SELECT citycode,cityname
FROM city
WHERE statecode
IN (

SELECT statecode
FROM city
JOIN state ON city.statecode = $id

)";
$rs=mysql_query($str);

while(list($citycode,$cityname)=mysql_fetch_array($rs))
{

echo "<option value='$citycode'>$cityname</option>";

}

?>
</select>
</label></th>

</tr>
<tr>
<th scope="row"><select name="market" id="market" style="width:150px;">
<option value="market">Select Market</option>
<?
$str="SELECT citycode,cityname
FROM city
WHERE statecode
IN (

SELECT statecode
FROM city
JOIN state ON city.statecode = $id

)";
$rs=mysql_query($str);

while(list($citycode,$cityname)=mysql_fetch_array($rs))
{

echo "<option value='$citycode'>$cityname</option>";

}

?>
</select></th>
</tr>
</table>
</form>

<script type="text/javascript">
Action(101,'state');
</script>
</body>
</html>

and here is the main Code file where i have written php query to get the result:


<?


mysql_connect("localhost","root","") or die("check server");
mysql_select_db("students")or die("check database");



if($_REQUEST["mode"]==state)

{
$id=$_REQUEST["id"];

$str="SELECT citycode,cityname
FROM city
WHERE statecode
IN (

SELECT statecode
FROM city
JOIN state ON city.statecode = $id)";

$rs=mysql_query($str);

while(list($citycode,$cityname)=mysql_fetch_array($rs))
{
echo "<option value='$citycode'>$cityname</option>";

}

}


?>