954,576 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

csv file, ajax, php

i'm parsing a csv file with ajax and php, although i think i did everything right, nothing happens when i click on the link.

here is the code:

here is the html:
<div id="brandContainer">
<ul id="brandNav">
<li class="categorypage" id="face"><a href="javascript:showCD('a','brandPage')">A</a></li>
</ul>
<div id="brandPage"></div>
</div>

here is the ajax/javascript:

var xmlhttp

function showCD(str, div)
{
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }
var url="getbrands.php";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlhttp.onreadystatechange=stateChanged(div);
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}

function stateChanged(div)
{
if (xmlhttp.readyState==4)
{
document.getElementById(div).innerHTML=xmlhttp.responseText;
}
}

function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
  {
  // code for IE7+, Firefox, Chrome, Opera, Safari
  return new XMLHttpRequest();
  }
if (window.ActiveXObject)
  {
  // code for IE6, IE5
  return new ActiveXObject("Microsoft.XMLHTTP");
  }
return null;
}



and here is the php(getbrands.php):

<?php

$q=$_GET["q"];

$handle = fopen("http://www.totalbeauty.com/resource/lists", "r");
while (($data = fgetcsv($handle, ";;")) !== FALSE) {
	$brands= $data[0];
    }
$brand = explode(",", $brands);
for ($i=0; $i<=count($brand); $i++){
	
	$a=strtolower($brand[$i]);
	$display = "<ul>";
	if ($q = $a[0]){
		$display .= "<li>'".$a."'</li>";
	}
	$display .="</ul>";
	echo $display;
}


?>

can anyone please tell me what is wrong with this code?
thanks...

cali_dotcom
Junior Poster in Training
53 posts since Apr 2008
Reputation Points: 10
Solved Threads: 0
 

If you get an error make sure it is not an access denied. An access denied is pretty common if your on a windows server. Because your requesting xmlhttp.open("GET",url,true); and windows is funny about those things.

Try this:

here is the ajax/javascript

var xmlhttp;
function showCD(str, div)
{

xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }
var url="getbrands.php";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}

function stateChanged(div)
{
if (xmlhttp.readyState==4)
{
document.getElementById(div).innerHTML=xmlhttp.responseText;
}
}

function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
  {
  // code for IE7+, Firefox, Chrome, Opera, Safari
  return new XMLHttpRequest();
  }
if (window.ActiveXObject)
  {
  // code for IE6, IE5
  return new ActiveXObject("Microsoft.XMLHTTP");
  }
return null;
}


here is the html

<div id="brandContainer">
<ul id="brandNav">
<li class="categorypage" id="face"><a href="javascript:showCD

('a','brandPage')">A</a></li>
</ul>
<div id="brandPage"></div>
</div>



and here is the php(getbrands.php)

<?php

$q=$_GET["q"];

$handle = fopen("http://www.totalbeauty.com/resource/lists", "r");
while (($data = fgetcsv($handle, ";;")) !== FALSE) {
	$brands= $data[0];
    }
$brand = explode(",", $brands);
for ($i=0; $i<=count($brand); $i++){
	
	$a=strtolower($brand[$i]);
	$display = "<ul>";
	if ($q = $a[0]){
		$display .= "<li>'".$a."'</li>";
	}
	$display .="</ul>";
	echo $display;
}


?>
Banderson
Junior Poster in Training
66 posts since Aug 2004
Reputation Points: 17
Solved Threads: 8
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You