Jump to content


Photo

List Box Que Esteja Sempre A Ser Actualizada


  • Faça o login para participar
8 replies to this topic

#1 Nimaro

Nimaro

    Normal

  • Usuários
  • 71 posts
  • Sexo:Não informado

Posted 03/12/2009, 06:56

Bom dia,
Estou a tentar criar uma list box que a medida que o utilizador coloque o nome que pretende pesquisar da Base de Dados, ele lhe mostre todos os nomes possiveis, para ser mais facil ao utilizador de pesquisar um certo cliente.

Ou seja, se ele escrever "Fil", iria aparecer Tudo que começasse por Fil
Case escrevesse Filipe, apareceria todos os nomes onde o primeiro nome é Filipe.

Agradecia uma ajuda vossa para isto, pois nao sei como fazer isto ^^

#2 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 03/12/2009, 08:35

Você pode utilizar o jQuery e um plugin de auto-completar. (y)

jQuery
jQuery Autocomplete

[]'sAté mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#3 Nimaro

Nimaro

    Normal

  • Usuários
  • 71 posts
  • Sexo:Não informado

Posted 03/12/2009, 12:58

é mesmo isso... vou tentar estudar bem isso... para tentar implementar no meu projecto

obrigado

consegui implementar no meu projecto AIR. mas estou a utilizar a lista local... funciona bem para o que pretende...

Só tem uma coisa agora... porque o array ja se encontra preeenchido... e esta dentro de uma javascript.
O que pretendi agora era fazer esse array dinamicamente, puxando os dados da minha Base de dados. Eu sei puxar dados da base de dados mas como o array esta dentro do javascript... nao sei como fazer :/

Espero que me tenha feito entender ^^

$("#CityLocal").autocompleteArray(
                [
                    "Aberdeen", "Ada", "Adamsville", "Addyston", "Adelphi", "Adena", "Adrian", "Akron",
                    "Albany", "Alexandria", "Alger", "Alledonia", "Alliance", "Alpha", "Alvada",
                    "Alvordton", "Amanda", "Amelia", "Amesville", "Amherst", "Amlin", "Amsden",
                    "Amsterdam", "Andover", "Anna", "Ansonia", "Antwerp", "Apple Creek", "Arcadia",
                    "Arcanum", "Archbold", "Arlington", "Ashland", "Ashley", "Ashtabula", "Ashville",
                    "Athens", "Attica", "Atwater", "Augusta", "Aurora", "Austinburg", "Ava", "Avon",

como vou colocar este array a puxar os dados Nome da minah tabela Medicos??? :/
Agradecia uma ajuda nisto.... obrigado

#4 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 03/12/2009, 13:10

Após você importar os arquivos Javascript:

<script type="text/javascript" src="jquery.js"></script>
<script type='text/javascript' src='jquery.autocomplete.js'></script>

Você usa assim:

$("#input_box").autocomplete("my_autocomplete_backend.php");

Onde my_autocomplete_backend.php é o arquivo PHP que você irá montar um array com todos os valores, ou seja, neste arquivo você pode fazer a busca no banco para ser preenchido.

[]'sAté mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#5 Nimaro

Nimaro

    Normal

  • Usuários
  • 71 posts
  • Sexo:Não informado

Posted 03/12/2009, 13:20

Desculpa mas so entendi +-

Dizes para apagar este array que tenho na propria pagina:
      $("#CityLocal").autocompleteArray(

Criar um ficheiro php onde vou fazer a listagem dos nomes dos respectivos medicos, e depois vasta colocar
[code=auto:0]
$("#input_box").autocomplete("my_autocomplete_backend.php");
]

e ele vai buscar-me os dados aqui?? :/
É que esse #input_box nao estou a entender ^^

#6 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 03/12/2009, 13:35

É o campo texto com este id, por exemplo:

<input type="text" id="input_box" />

Você incluindo os arquivos Javascript, criando o arquivo PHP para listar os dados, você vai ter o efeito esperado.

[]'sAté mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#7 Nimaro

Nimaro

    Normal

  • Usuários
  • 71 posts
  • Sexo:Não informado

Posted 03/12/2009, 14:59

André... estou a tentar fazer da forma como disses-te...
vou mostrar como fiz, posso ter falhado em algo que nao estou a conseguir ver...

ficheiro php para listagem dos nomes:
"listar_medicos.php"
     <?php require_once("includes/session.php");?>			
     <?php require_once("includes/connection.php");?>
     <?php require_once("includes/functions.php");?>
     <?php 
	$query = mysql_query("SELECT nome FROM medicos order by nome asc");
     ?>
	<table id="content" border="2" bordercolor="#00CC00">
     <?php 
	while($dados = mysql_fetch_array($query))
	{
     ?>
 <tr>
  <td> <?php echo $dados[0]; ?></td>
 </tr>
<?php } ?>
</table>

Zona da textBox:
<div>
.
.
.
<tr><td>ID Paciente:</td>
    <?php $("#input_box").autocomplete("my_autocomplete_backend.php"); ?>
    <td><input type="text" name="id_paciente" id="input_box" value="" /></td></tr>
.
.
.
</div>

Coloquei assim, que acho que foi assim que disses-te... mas esta-me a dar um erro quando tento aceder a pagina:
Parse error: parse error, expecting `T_VARIABLE' or `'$'' in C:\wamp\www\Secretel\insere_mensagens.php on line 337
Esta linha 337 é ---------> <?php $("#input_box").autocomplete("my_autocomplete_backend.php"); ?>

Espero que me consigam ajudar.
Cumprimentos,

#8 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 03/12/2009, 15:40

Bom, fiz um pequeno exemplo aqui, veja se você consegue compreender. (y)

Primeiro, faça download dos 3 arquivos necessários (use botão direito e "Salvar como..."):


Feito isto, você importa os arquivos Javascript e CSS, entre as tags <head> assim:

<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type='text/javascript' src='jquery.autocomplete.js'></script>
<link rel="stylesheet" type="text/css" href="jquery.autocomplete.css" />

Logo abaixo das importações, insira um código Javascript assim:

<script type="text/javascript">
$(document).ready(function() {
	$("#paises").autocomplete("buscar.php");
});
</script>

E seu campo:

<input type="text" size="30" id="paises" />

Agora, o arquivo buscar.php que é solicitado no código, é onde você deve imprimir na tela o que será buscado.

No meu exemplo, fiz assim:

<?php
header("Content-type: text/html; charset=iso-8859-1");

echo "Brasil\n";
echo "Portugal\n";
echo "Holanda\n";
echo "Espanha\n";
echo "Bulgária\n";
echo "Alemanha\n";
echo "China\n";
echo "França\n";
echo "Canadá\n";
echo "Estados Unidos\n";
echo "Argentina\n";
echo "Marrocos\n";
echo "Austrália";

?>

Se você testar exatamente este código perceba que você terá o retorno dos países em seu campo de texto.

Essa é basicamente a idéia que você deve fazer, a saída do PHP serão os registros exibidos no campo de texto.

[]'sAté mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#9 Nimaro

Nimaro

    Normal

  • Usuários
  • 71 posts
  • Sexo:Não informado

Posted 03/12/2009, 17:30

valeu,

funcionou direito :)

obrigadão mais 1 vez ;)

abraço




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq