quarta-feira, 24 de março de 2010

AutoCompletar

//JAVASCRIPT
function sugestoesMostra(filtro_busca2) {
if(filtro_busca2.length == 0) {
// Esconde as sugestões
$('#sugestoes').hide();
} else {
$.post("http://10.56.1.4/syscontato/contato/ajaxBusca.php", {queryString: ""+filtro_busca2+""}, function(data){
if(data.length >0) {
$('#sugestoes').show();
$('#sugestoesLista').html(data);
}else{
$('#sugestoes').hide();
}
});
}
}

function sugestoesEnvia(thisValue) {
$('#filtro_busca2').val(thisValue);
setTimeout("$('#sugestoes').hide();", 200);
}


//PHP
input name='filtro_busca2' id='filtro_busca2' style='width:260px' onkeyup='sugestoesMostra(this.value);' onblur='sugestoesEnvia();' type='text'
< class="'sugestoes'" id="'sugestoes'" style="'display:">
< class="'sugestoesLista'" id="'sugestoesLista'">< /div >
< /div >

//Outra pagina
// Verifica se foi enviado uma string na busca.
if(isset($_POST['queryString'])) {

$z = "host='10.56.1.1' dbname='syscontatos' port=5432 user='syscontatos' password='sysc0n72705'";

pg_connect($z) or die
("ERRO: Não foi possível conectar ao BD.");
pg_query("SET NAMES 'ISO-8859-1'");

$queryString = utf8_decode($_POST['queryString']);

// Verifica se quantidade de caracteres é maior que zero.
if(strlen($queryString) > 0) {

/* Caso a quantidade de caracteres for maior que zero,
entraremos aqui, onde é executado o SQL.
*/

if( $_SESSION['sistema'] == '1'){
$query = pg_query("select nome_contato from contatos
where nome_contato ilike '%$queryString%' ORDER BY nome_contato limit 20");
//where TO_ASCII(nome_contato, 'LATIN1') ilike TO_ASCII('%$queryString%', 'ISO-8859-1') ORDER BY nome_contato limit 20");


}else if (!isset($_SESSION['sistema']) ){
$query = pg_query("select nome_contato from contatos
where nome_contato ilike '%$queryString%' and id_orgao <> 0 ORDER BY nome_contato limit 20");
//where TO_ASCII(nome_contato, 'LATIN1') ilike TO_ASCII('%$queryString%', 'ISO-8859-1') and id_orgao <> 0 ORDER BY nome_contato limit 20");


}
/* Bom, referente ao SQL acima, altere o CAMPO e a
TABELA para o seu caso.
Note que a $queryString é passada com porcentagem
(%), com isso caso o usuário digite aba retornaremos
"abacate, abacaxi", se estiver em nossa tabela é claro.
*/
if($query) {
// Se a query for executada corretamente, entraremos nesta linha abaixo, onde é feito um laço de repetição, atribuindo os valores a variável $result.
while ($result = pg_fetch_array($query)) {
/* Abaixo mostraremos o resultado em lista,
novamente altere onde diz CAMPO para o campo
de sua tabela.
*/

echo '
  • '.htmlentities($result[nome_contato]).'
  • ';
    /*
    No onClick uma função: sugestoesRecebe, na qual
    mencionei anteriormente que serve para atribuir
    o resultado ao campo texto.
    */
    }
    } else {
    echo 'ERRO: Ocorreu um problema com a consulta.';
    }
    }
    } else {
    echo 'Não é permitido acesso direto a esse script.';
    }
    ?>





    Nenhum comentário:

    Postar um comentário