salve a tutti
non so se sia più corretto postarla qui o in php, comunque...
allora ho trovato un bell'esempio per fare un autosuggest con ajax di alcuni campi. l'array è manuale e nell'esempio riguardava le regioni
dunque io in un form avevo un campo testo, digitavo alcune lettere e lui mi suggeriva di volta in volta le opzioni disponibili.codice:$regioni = array("Calabria","Campania","Emilia-Romagna","Friuli-Venezia Giulia","Lazio","Liguria","Lombardia","Marche","Molise","Piemonte","Puglia","Sardegna","Sicilia","Toscana","Trentino-Alto Adige","Umbria","Valle d'Aosta","Veneto"); echo "<ul class=\"autosuggest\">"; if($input !== ''){ foreach($regioni as $chiave => $valore) { if(ereg($input,$valore)) { echo "[*]<div>$valore</div>"; } } } echo "[/list]";
Ho provato ad adattarlo alle mie esigenze, facendo l'array da un database mysql (seguendo un altro esempio). Funziona, si connette al database, cerca i valori in base agli input dell'utente...ma le opzioni non si vedono!
Cioè io nel db ho diciamo 100 valori..tra cui poniamo "campo1", campo2 e campo3
Nel form comincio a digitare "campo" e in effetti sotto si apre la scelta con tre possibilità...però non c'è scritto nulla! ci sono solo dei pallini neri del[*]
Il codice usato (il campo testo del form si chiama nome-regione)
helpcodice:$input=$_POST['nome-regione']; //Mi connetto come sempre al database mettendo host, user e password mysql_connect("xxxxx", "xxxxx", "") or die(mysql_error()); mysql_select_db("materiale") or die(mysql_error()); $sql = "SELECT articolo FROM articoli WHERE articolo LIKE '%$input%'"; $regioni = mysql_query($sql); $list = '<ul class=\"autosuggest\>'; if(mysql_num_rows($regioni ) > 0){ while($row = mysql_fetch_row($regioni)){ $list .= '[*]'.$row['articolo'].' - '.$row['codice'].''; } } else{ $list .= '[*]Nessun risultato pertinente ...'; } $list .= '[/list]'; ; mysql_free_result($regioni); echo $list; unset($list);![]()


Rispondi quotando