Salve a tutti, volevo realizzare un semplice autocomplete in jquery che in base ai caratteri inseriti prelevasse dal campo "nome" di una tabella mysql le varie informazioni da mostrare e con cui riempire un form.
Di seguito il codice della pagina da cui vengono estratti i dati (già connessi al db):
Codice PHP:
if ( !isset($_REQUEST['term']) ) exit;
$rs = mysql_query('SELECT codice_prodotto,nome,costo FROM prodotti WHERE nome like "%'. $_REQUEST['term'] .'%" ORDER BY nome'); $data = array();if ( $rs && mysql_num_rows($rs) ){ while( $row = mysql_fetch_array($rs, MYSQL_ASSOC) ) { $data[] = array( 'value' => $row['nome']." € ".$row['costo']." -CODE:".$row['codice_prodotto'] ); }}
echo json_encode($data);flush();
Questa invece è il codice delle parti in cui vengono inseriti i caratteri per la ricerca (ovviamente parti inutili come il nome del form e dettagli html sono stati omessi):
Codice PHP:
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css"> <script src="http://code.jquery.com/jquery-1.9.1.js"></script> <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js">
<input type="text" id="pr_serv" name="pr_serv[]" class="f_12" size="45"><script>jQuery(document).ready(function($){ $('#pr_serv').autocomplete({source:'source_prodotti.php', minLength:2 }); });</script>
Il codice funziona correttamente ma quando incontro un carattere accentato nel nome mi viene mostrato null come risultato. Da cosa dipende?
Grazie