This one uses post and is ready to go and change to your needs!
html file (file name does not matter)
<html>
<head>
<script type="text/javascript">
var request = false;
try {
request = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
request = false;
}
}
}
if (!request)
alert("Error initializing XMLHttpRequest!");
</script>
<script type="text/javascript">
var fileOption;
function runPhp(Args)
{
var url = "script.php";
fileOption = Args;
var params = "Args=" +Args+"";
request.open("POST", url, true);
//Some http headers must be set along with any POST request.
request.setRequestHeader("Content-type", "application/x-www-form-urlencoded;charset=utf-8");
request.setRequestHeader("Content-length", params.length);
request.setRequestHeader("Connection", "close");
request.onreadystatechange = updatePage;
request.send(params);
}////////////////////
function getXml( )
{
var url = 'temp.xml';
var params = null;
request.open("POST", url, true);
request.setRequestHeader("Connection", "close");
request.onreadystatechange = displayFile;
request.send(params);
}////////////////////
//You're looking for a status code of 200 which simply means okay.
function updatePage() {
if (request.readyState == 4) {
if (request.status == 200)
{
if(fileOption==1)
{fileName=request.responseText; return;}
document.getElementById('divResults').innerHTML=request.responseText;
document.getElementById('textareaResults').innerHTML=request.responseText;
}
else{
//alert("status is " + request.status);
}
}
}
function displayFile() {
if (request.readyState == 4) {
if (request.status == 200)
{
document.getElementById('textareaResults').innerHTML=request.responseText;
document.getElementById('divResults').innerHTML='File loaded in text area above.';
}
else{
//alert("status is " + request.status);
}
}
}
</script>
</head>
<body >
<span style="background-color:blue;color:yellow;"
onClick="runPhp('GetFromMysql')"/>
Click this to get data from MySql.<br>
</span><br><br>
<span style="background-color:blue;color:yellow;"
onClick="runPhp('MysqlToFile')"/>
Click this to get data from MySql and store them in a file instead of displaying.<br> <br> <br>
</span>
<span style="background-color:blue;color:yellow;"
onClick="getXml()"/>
Click to read the xml file.<br>
</span>
<textarea rows="10" cols="88" id="textareaResults">
</textarea>
<br><br>
<pre><div id="divResults"></div></pre>
<br><br>
</body>
</html>
and this is script.php
<?PHP
$xml_output = routine();
if($_POST['Args']==='GetFromMysql')
echo $xml_output .= "</records>";
elseif($_POST['Args']==='MysqlToFile')
{
$fileName = 'temp.xml';
$fp = fopen($fileName, 'w');
fwrite($fp, $xml_output);
fclose($fp);
echo "temp.xml";//return the file name
}
function routine()
{
mysql_connect('localhost', 'root','');
mysql_select_db("mysql");
$query="select * from help_category;";
$resultID = mysql_query($query ) or die("Data not found.");
$xml_output = "<?xml version=\"1.0\"?>\n";
$xml_output .= "<records>\n";
for($x = 0 ; $x < mysql_num_rows($resultID) ; $x++)
{
$row = mysql_fetch_assoc($resultID);
$xml_output .= "\t<record>\n";
$xml_output .= "\t\t<help_category_id>" . $row['help_category_id'] . "</help_category_id>\n";
$xml_output .= "\t\t<name>" . $row['name'] . "</name>\n";
$xml_output .= "\t\t<parent_category_id>" . $row['parent_category_id'] . "</parent_category_id>\n";
$xml_output .= "\t</record>\n";
}
return $xml_output;
}
?>