С помощью PHP это довольно просто.
Я бы использовал ключевое слово LIKE
в SQL, чтобы найти релевантные результаты.
Затем я бы проанализировал результаты в JSON, а затем вернул их клиенту.
Быстрый пример:
<?php
$_q = ( isset( $_POST[ 'q' ] ) && !empty( $_POST[ 'q' ] ) ) ? $_POST[ 'q' ] : NULL;
if( $_q === NULL ) {
echo 'invalid querystring';
exit;
}
//connect to the db....
$set = $db->query( 'SELECT name FROM my_table WHERE name LIKE \'%' . $_q . '%\';' );
$json = array();
while( $result = $set->fetch_array() ) {
$json[] = $result[ 'name' ];
}
echo json_encode( $json );
?>
JavaScript: (с использованием jQuery)
function getResults( str ) {
$.ajax({
url:'suggest.php'.
type:'POST',
data: 'q=' + str,
dataType: 'json',
success: function( json ) {
//json is now an array, here's where you render the dropdown data.
}
});
}
$( '.suggest' ).keyup( function() {
getResults( $( this ).val() );
} );