This example will use the Ajax XML way of sending response.
For this tutorial, first create a table, "xml_users" with the following fields:
id int(1) NOT NULL PRIMARY KEY AUTO_INCREMENT
FirstName varchar(12)
LastName varchar(12)
Age int(2)
HomeTown varchar(15)
Job varchar(12)
Insert few records in the table.
Now write the index.php file, that shows the drop down list of users' names from the table. The onchange event of this select box will fire the javascript function that sends the data to a php file using ajax.
Ex: onchange="showUser(this.value)"
The javascript:
function showUser(str)
{
xmlHttp=GetXmlHttpObject()
var url="responsexml.php"
url=url+"?q="+str // q is the id passed
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChanged
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}
/* Now write the span tags for showing the response */
<span id="job"></span><br />
<span id="age_text"></span>
<span id="age"></span><br />
<span id="hometown_text"></span>
<span id="hometown"></span><br />
Finally, write the php file: responsexml.php, that is called by the ajax code of js.
<?php
// Establish database connection
$q=$_GET["q"];
$sql="SELECT * FROM xml_users WHERE id = ".$q."";
$result = mysql_query($sql);
echo '<?xml version="1.0" encoding="ISO-8859-1"?>
<person>';
while($row = mysql_fetch_array($result))
{
echo "<age>" . $row['Age'] . "</age>";
echo "<hometown>" . $row['HomeTown'] . "</hometown>";
echo "<job>" . $row['Job'] . "</job>";
}
echo "</person>";
?>
On success, the response is shown in our page, like for example, the job value:
document.getElementById("job").innerHTML=
xmlDoc.getElementsByTagName("job")[0].childNodes[0].nodeValue;
Note: change the database connection values, as needed.
Now test the application. When you select a user from the drop down list, it will show the corresponding user's details below.
You can download the entire source code here
For this tutorial, first create a table, "xml_users" with the following fields:
id int(1) NOT NULL PRIMARY KEY AUTO_INCREMENT
FirstName varchar(12)
LastName varchar(12)
Age int(2)
HomeTown varchar(15)
Job varchar(12)
Insert few records in the table.
Now write the index.php file, that shows the drop down list of users' names from the table. The onchange event of this select box will fire the javascript function that sends the data to a php file using ajax.
Ex: onchange="showUser(this.value)"
The javascript:
function showUser(str)
{
xmlHttp=GetXmlHttpObject()
var url="responsexml.php"
url=url+"?q="+str // q is the id passed
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChanged
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}
/* Now write the span tags for showing the response */
<span id="job"></span><br />
<span id="age_text"></span>
<span id="age"></span><br />
<span id="hometown_text"></span>
<span id="hometown"></span><br />
Finally, write the php file: responsexml.php, that is called by the ajax code of js.
<?php
// Establish database connection
$q=$_GET["q"];
$sql="SELECT * FROM xml_users WHERE id = ".$q."";
$result = mysql_query($sql);
echo '<?xml version="1.0" encoding="ISO-8859-1"?>
<person>';
while($row = mysql_fetch_array($result))
{
echo "<age>" . $row['Age'] . "</age>";
echo "<hometown>" . $row['HomeTown'] . "</hometown>";
echo "<job>" . $row['Job'] . "</job>";
}
echo "</person>";
?>
On success, the response is shown in our page, like for example, the job value:
document.getElementById("job").innerHTML=
xmlDoc.getElementsByTagName("job")[0].childNodes[0].nodeValue;
Note: change the database connection values, as needed.
Now test the application. When you select a user from the drop down list, it will show the corresponding user's details below.
You can download the entire source code here
Comments
Post a Comment