temo che Ajax sia l'unica soluzione per questo. Prova con Prototypesjs ( http://www.prototypejs.org/learn ), devi però fare la funzione che genera la select esterna al file della pagina. Ti do un consiglio:
form.php
contiene la form SENZA la select. All'elemento dentro il quale la select dovrà apparire, assegni un id. Assegni un id anche al campo input text che firtrerà la select.
esempio:
select.phpCodice PHP:<form action="..." method="POST">
...
<input type="text" name="filtra_inserzionista" id="filtra_inserzionista" />
<div id="SelectWrapper">
</div>
...
</form>
Il file che generala select con il codice che hai inserito, aggiungici il WHERE nella query che prende il valore passato in $_POST['filtra_inserzionista'] (dopo averlo controllato che non sia vuoto e tolti i valori per le injection)
A questo punto importa nell'head di form.php prototype.js e crea la funzione:
poi aggiungici:Codice PHP:function prepareSelect(idWrapper, filter)
{
new Ajax.Updater(idWrapper, 'select.php', {method : 'post', parameters : {filtra_inserzionista : filter}});
}
Dovrebbe andare.Codice PHP:Event.observe(window, 'load', function(){
prepareSelect('SelectWrapper', '');
$('filtra_inserzionista').observe('keyup', function(){
prepareSelect('SelectWrapper', this.readAttribute('value'));
})
})

Rispondi quotando