eccoci qui 
dunque, come detto devi fare un misto di php e js, comincio con il postarti come ho fatto io, poi vedi te che strada seguire...
Io ho fatto innanzitutto un campo di testo con accanto un div
codice:
<input name="artName" type="text" id="artName" onKeyUp="updateList( this.form, this );" size="15" onKeyPress="javascript:visibile();">
<div id="mio_layer" style="display:none; "></div>
ti posto anche il css del layer:
codice:
<style>
#mio_layer{
max-height:95px;
height:expression(this.scrollHeight > 95? "95px" : "auto");
position:absolute;
top:220px;
overflow:auto;
width:100px;
background-color:#F4F4F4;
}
</style>
poi questo è l js che devi mettere nell'head del tuo html:
io ti ho copiato il mio pari pari, naturalmente poi dovrai cambiare i nomi dei campi e del form con quelli che hai tu (ricordati di dare ad ogni elemento un id, perché come vedi ne js accedo agli elementi tramite il getElementById)
codice:
<script type="text/javascript" language="JavaScript">
function updateList( __hForm, __hArtName ){
var itemFound = 0;
var artToSearch = __hArtName.value;
var artListFound = "";
for ( var i=0; i<artList.length; i++ ){
if ( artToSearch == artList[i].substring( 0, artToSearch.length) ) {
artListFound += "<a href=\"#\" onClick=\"selcopy('" + artList[i] + "'); setTimeOut(sendForm(), 2500);\">" + artList[i] + "</a>
";
itemFound++;
}
}
if ( itemFound )
artListFound = artListFound;
else
artListFound = "Nessun articolo trovato.";
document.getElementById("mio_layer").innerHTML = artListFound;
}
function selcopy(valore){
document.getElementById("artName").value = valore;
}
function visibile(){
document.getElementById("mio_layer").style.display="";
}
function sendForm(){
document.getElementById("mio_layer").style.display="none";
document.getElementById("form").submit();
}
</script>
infine c'è la parte in cui dobbiao creare l'array js da php che passeremo poi in pasto alle funzioni che sono sopra:
codice:
$sql_1="qui la tua query";
$res_1 = @mysql_query($sql_1);
$row_1 = @mysql_fetch_assoc($res_1);
echo "<script>var artList = new Array(";
while($row = @mysql_fetch_assoc($res_1)){
echo "'".$row["nomecolonna"]."',";
}
echo "''";
echo ");</script>";
poi io ho fatto in modo che selezionando un elemento dalla lista che mi si presentava questo valore andasse direttamente nella mia casella di testo e che il form venisse processato...questo se vuoi lo puoi tranquillamente omettere.
Penso di averti detto tutto! Buon lavoro!