Hallo,
Ik ben bezig met een website en die te linken aan een database.
De gegevens die ik uit de database haal wil ik in een klikbaar maken waardoor er in een ander object iets anders uit die database verschijnt. Eerst werkte ik met iframe's maar dit maakte mijn website er niet mooier op. Dus ben ik overgestapt op ajax.
Eerst haal ik mijn gegevens uit de database:
<?php
require_once 'dbconnect.php';
$sql = "
SELECT *
FROM
artiest
";
if(!$res = mysql_query($sql))
{
trigger_error(mysql_error().'<br />In query: '.$sql);
}
elseif(mysql_num_rows($res) == 0)
{
echo 'Geen resultaten gevonden';
}
else
{
while($test = mysql_fetch_assoc($res))
{
echo '<span onclick="showResult();">'.$test['artiest_naam'].'</span><br />';
}
}
?>
dit laat ik includen op mijn index.php Maar wat ik wil doen is dat de array test ook als parameter wordt toegevoegt aan "showResult();" Dat weer verwijst naar het ajax script:
var xmlhttp;
function showResult(invulMogelijkheid)
{
xmlhttp=GetXmlHttpObject()
if (xmlhttp==null)
{
alert ("Your browser does not support XML HTTP Request");
return;
}
var url="phpreturn.php";
url=url+"?q="+invulMogelijkheid;
url=url+"&sid="+Math.random();
xmlhttp.onreadystatechange=stateChanged ;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}
function stateChanged()
{
if (xmlhttp.readyState==4)
{
document.getElementById("livesearch").innerHTML=xmlhttp.responseText;
document.getElementById("livesearch").style.border="1px solid #000";
}
}
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;
}
Daaruit mee open ik:
<?php
//get the q parameter from URL
$q=$_GET["q"];
echo "de test doet het <br />";
echo $q;
?>
maar als ik bij:
echo '<span onclick="showResult();">'.$test['artiest_naam'].'</span><br />';
verander naar:
echo '<span onclick="showResult('.$test['artiest_naam'].');">'.$test['artiest_naam'].'</span><br />';
dan doet mijn het hele ajax script het niet meer.
het probleem is dat de showResult('.$test['artiest_naam'].' nu denkt dat $test['artiest_naam'] een functie is. maar het moet 'text' zijn.
Dus mijn vraag is hoe los ik dit op?
ps: ik hoop dat het een beetje duidelijk is.
836 views