je souhaiterai avoir un zone de texte où lorsque je saisie du texte, on m'affiche les clients correspondants à ce que j'ai saisie:
Pour être plus clair, si dans ma table j'ai un client qui s'appelle société 1 et un client qui s'appelle société 2, je veux que lorsque je tape "s" il me donne les deux clients.
J'ai trouvé sur internet un sricpt qui le fait, mais lorsque je tape quelque chose il me donne bien les clients correspondants, mais ensuite il affiche tout le javascript.
Je ne sais pas d'où ca vient:
Voici ma page php :
<?
...
///Make sure that a value was sent.
if (isset($_GET['search']) && $_GET['search'] != '') {
//Add slashes to any quotes to avoid SQL problems.
$search = addslashes($_GET['search']);
//Get every page title for the site.
list ($qh , $num) = dbQuery("SELECT distinct(organisation) as suggest FROM $CLIENT_TABLE WHERE organisation like('" .
$search . "%') ORDER BY organisation");
while($suggest = dbResult($qh)) {
//Return each page title seperated by a newline.
echo $suggest['suggest'] . "\n";
}
}
?>
<html>
<head>
<title>Tâches</title>
<?php
include ("header.inc");
?>
<script language="javascript">
//Gets the browser specific XmlHttpRequest Object
function getXmlHttpRequestObject() {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
}
else if(window.ActiveXObject){
return new ActiveXObject("Microsoft.XMLHTTP");
}
else {
alert("Your Browser Sucks!\nIt's about time to upgrade don't you think?");
}
}
//Our XmlHttpRequest object to get the auto suggest
var searchReq = getXmlHttpRequestObject();
//Called from keyup on the search textbox.
//Starts the AJAX request.
function searchSuggest() {
if (searchReq.readyState == 4 || searchReq.readyState == 0) {
var str = escape(document.getElementById('txtSearch').value);
searchReq.open("GET", 'tmp.php?search=' + str, true);
searchReq.onreadystatechange = handleSearchSuggest;
searchReq.send(null);
}
}
//Called when the AJAX response is returned.
function handleSearchSuggest() {
if (searchReq.readyState == 4) {
var ss = document.getElementById('search_suggest')
ss.innerHTML = '';
var str = searchReq.responseText.split("\n");
for(i=0; i < str.length - 1; i++) {
//Build our element string. This is cleaner using the DOM, but
//IE doesn't support dynamically added attributes.
var suggest = '<div onmouseover="javascript:suggestOver(this);" ';
suggest += 'onmouseout="javascript:suggestOut(this);" ';
suggest += 'onclick="javascript:setSearch(this.innerHTML);" ';
suggest += 'class="suggest_link">' + str[i] + '</div>';
ss.innerHTML += suggest;
}
}
}
//Mouse over function
function suggestOver(div_value) {
div_value.className = 'suggest_link_over';
}
//Mouse out function
function suggestOut(div_value) {
div_value.className = 'suggest_link';
}
//Click function
function setSearch(value) {
document.getElementById('txtSearch').value = value;
document.getElementById('search_suggest').innerHTML = '';
}
</script>
</head>
<body <? include ("body.inc"); ?> >
<?
include ("banner.inc");
?>
<form id="frmSearch" action="<? echo $_SERVER["PHP_SELF"]; ?>" method="get">
<input type="text" id="txtSearch" name="txtSearch" alt="Search Criteria"
onkeyup="searchSuggest();" autocomplete="off" />
<input type="submit" id="cmdSearch" name="cmdSearch" value="Search" alt="Run Search" />
<div id="search_suggest"></div>
</form>
<?
include ("footer.inc");
?>
</BODY>
</HTML>
Merci