J'apprécierais votre aide avec les codes suivants. Le 1er fichier en ajax permet la recherche d'un mot-clé. La recherche du mot-clé s'effectue dans MySQL via le fichier PHP lancé en ajax. Le fichier PHP devrait fonctionner sans problème, car testé indépendamment.
Quand je lance le premier fichier html, rien ne se passe, pas même de message "No results found" censé être envoyé par le fichier PHP.
Merci pour votre aide.
Fichier Ajax :
Code : Tout sélectionner
<html>
<head>
<script language = "javascript">
function search()
{
var XMLHttpRequestObject = false;
if (window.XMLHttpRequest) {
XMLHttpRequestObject = new XMLHttpRequest();
} else if (window.ActiveXObject) {
XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHttp");
}
if(XMLHttpRequestObject) {
var keyword = document.getElementById('text_zone').value;
var fichier_externe = "db_request.php?word=" + keyword;
XMLHttpRequestObject.open("GET", fichier_externe);
XMLHttpRequestObject.onreadystatechange = function()
{
if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
var affichage = XMLHttpRequestObject.responseText;
document.getElementById('target').innerHTML = affichage;
delete XMLHttpRequestObject;
XMLHttpRequestObject = null;
}
}
XMLHttpRequestObject.send(null);
}
}
</script>
</head>
<form>
<input type="text" id="text_zone" size="40">
<input type="submit" id="ok" value="OK" onclick="search()">
</form>
<br><br>
<div id="target">
</div>
</html>
Fichier PHP :
Code : Tout sélectionner
<?
if(!$_GET["word"]) {
echo "No results found";
}
else {
$keyword = $_GET["word"];
$query = "select * from $table where a='$motcle' ";
$result = mysql_db_query($db,$query,$link);
echo
"
<table>
";
while ($array = mysql_fetch_object($result)) {
echo
"
<tr>
<td>
$array->a
</td>
<td>
$array->b
</td>
</tr>
";
}
echo
"
</table>
";
}
?>