Originariamente inviato da mpala
ho fatto tutto però quando chiamo la funzione:

function prepareSelect(idWrapper, filter)
quali parametri devo mettere per idWrapper e filter? ho abbinato questa funzione all'evento OnClick del pulsante, però si attiva da sola al caricamento della pagina visualizzando tutti i valori presenti nel db.
Forse perché l'evento che ho legato alla input text lancia la funzione ogni volta che premi un tasto...

togli la definizione dell'evento onclick sul bottone, che è una vecchia e buggata sintassi ed usa quella DOM2 estesa dalle funzionalità di prototypejs

Codice PHP:
Event.observe(window'load', function(){
   
prepareSelect('div_inserzionista''');
   $(
'idBottone').observe('click', function(){
      
prepareSelect('div_inserzionista', $('filtra_inserzionista').readAttribute('value'));
   })
}) 
Dove al posto di idBottone metti l'id che assegni al pulsante che attiva la funzione.

la pagina leg_inserzionisti.php in cui ho messo la select è la seguente:

<?php
//modificare variabile in modo tale che non si corra il rischio di sql iniection
$_crit_inserzionista=$_POST['filtra_inserzionista'];

//stabiliamo la connessione con il database
$server='localhost';
$user='root';
$password='';
$db='dayleg2008_web';
If (substr($_SERVER['SERVER_NAME'],'',9) != "localhost") $db="mediascan";


$conn=new mysqli($server,$user,$password,$db);

If (mysqli_connect_errno() !=0)
{
$errnum=mysqli_connect_errno();
$errmsg=mysqli_connect_error();
echo "Connessione fallita: ($errno) $errmsg
\n";
exit;
}

//imposta set di caratteri
$conn->query("SET NAMES 'utf8'");
//--------------esegue select per drop down list crit_inserzionista

$sql=("SELECT ente from t_dayleg WHERE ente LIKE '%$crit_inserzionista%' GROUP BY ente ORDER BY ente");
$risultato=@$conn->query($sql);
if ($risultato == FALSE)
{
$errnum=$conn->errno;
$errmsg=$conn->error;
echo $errmsg;
echo $errnum;
$conn->close;
exit;
}

//costruisce select crit inserzionista

$crit_inserzionista="<select name='crit_inserzionista' id='crit_inserzionista' multiple size=10>";
// $crit_inserzionista=$crit_inserzionista."<option selected value=''></option>";
while (($row=@$risultato->fetch_assoc()) !== NULL)
{
$crit_inserzionista=$crit_inserzionista."<option value='".$row['ente']."'>".$row['ente']."</option>";
}
$crit_inserzionista=$crit_inserzionista."</select>";

//clean set risultati
$risultato->close();

//chiude la connessione
$conn->close();
echo $crit_inserzionista;
?>
Classico errore:

Riga di lettura POST
$_crit_inserzionista=$_POST['filtra_inserzionista'];

Riga select:
$sql=("SELECT ente from t_dayleg WHERE ente LIKE '%$crit_inserzionista%' GROUP BY ente ORDER BY ente");

Riga di costruzione <select:
$crit_inserzionista="<select na

Corollario alla Legge fondamentale della Programmazione sulle variabili:
"Metti due varibili che cambiano per un solo carattere e stai pur certo che le usarai sempre in maniera sbagliata"