Como montar um autocomplete em PHP, retornando dois campos?
Olá pessoal, sou novo aqui e estou precisando de ajuda, atualmente estou em um projeto e estamos tentando montar um script autocomplete que me retorne dois campos. Atualmente já consegui o autocomplete com um campo, mais não consigo fazer o mesmo com dois ou mais campos. Podem me auxiliar.
CODIGO HTML
CODIGO PHP
até o momento foi o que consegui.
CODIGO HTML
<?php session_start(); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Matheus Piscioneri</title> <script type="text/javascript" src="autocomplete/jquery-1.4.2.js"></script> <script type='text/javascript' src="autocomplete/jquery.autocomplete.js"></script> <link rel="stylesheet" type="text/css" href="autocomplete/jquery.autocomplete.css" /> <script type="text/javascript"> $().ready(function() { $("#course").autocomplete("ajaxCNAE.php", { width: 260, matchContains: true, //mustMatch: true, //minChars: 0, //multiple: true, //highlight: false, //multipleSeparator: ",", selectFirst: false }); }); </script> </head> <body> <h2>Autocomplete usando jQuery, Ajax, PHP</h1> <div id="content"> <form autocomplete="off"> <p> Digite um nome: <input type="text" name="course" id="course" /> </p> </form> </div> </body> </html>
CODIGO PHP
<?php require_once('../conexao.php'); $q = strtolower($_GET["q"]); if (!$q) return; $sql = "select DISTINCT descricao, cnae from tb_cnae where descricao LIKE '%$q%'"; $rsd = mysqli_query($conexao, $sql); while($rs = mysqli_fetch_array($rsd)) { $cname = imap_utf7_decode($rs['descricao']; echo "$cname"; } ?>
até o momento foi o que consegui.
José Silva
Curtidas 0
Respostas
Joel Rodrigues
24/01/2017
Opa, José. Tudo bem?
Em que ponto do código exatamente está sua dificuldade? Para retornar mais de um valor, você precisará retorná-los na forma de JSON para o HTML e no success do $.ajax tratar esse retorno.
Em que ponto do código exatamente está sua dificuldade? Para retornar mais de um valor, você precisará retorná-los na forma de JSON para o HTML e no success do $.ajax tratar esse retorno.
GOSTEI 0
José Silva
24/01/2017
Oi Joel tudo bem, Cara não manjo como funciona o json é minha primeira vez pode me auxiliar com isso?
GOSTEI 0
Marcos Silva
24/01/2017
tenta isso
<?php
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header ("Cache-Control: no-store, no-cache, must-revalidate ''");
header ("Cache-Control: post-check = 0, pre-check = 0 '', false");
header ("Pragma: no-cache");
header ("Content-Type: text/html; charset=iso-8859-1",true);
?>
<?php
require_once(''../Connections/conectbd.php'');
$conectbd=mysql_connect($hostname, $username, $senha);
mysql_select_db($banco);
$q = strtolower($_GET["q"]);
if (!$q) return;
$sql = "select DISTINCT nome from tce_cerimonial where nome LIKE ''%$q%''";
$rsd = mysql_query($sql);
while($rs = mysql_fetch_array($rsd)) {
$cname = $rs[''nome''];
echo "$cname\\\\n";
}
?>
<?php
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header ("Cache-Control: no-store, no-cache, must-revalidate ''");
header ("Cache-Control: post-check = 0, pre-check = 0 '', false");
header ("Pragma: no-cache");
header ("Content-Type: text/html; charset=iso-8859-1",true);
?>
<?php
require_once(''../Connections/conectbd.php'');
$conectbd=mysql_connect($hostname, $username, $senha);
mysql_select_db($banco);
$q = strtolower($_GET["q"]);
if (!$q) return;
$sql = "select DISTINCT nome from tce_cerimonial where nome LIKE ''%$q%''";
$rsd = mysql_query($sql);
while($rs = mysql_fetch_array($rsd)) {
$cname = $rs[''nome''];
echo "$cname\\\\n";
}
?>
GOSTEI 0
Marcos Silva
24/01/2017
tenta isso
<?php
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header ("Cache-Control: no-store, no-cache, must-revalidate ''''");
header ("Cache-Control: post-check = 0, pre-check = 0 '''', false");
header ("Pragma: no-cache");
header ("Content-Type: text/html; charset=iso-8859-1",true);
?>
<?php
require_once(''''../Connections/conectbd.php'''');
$conectbd=mysql_connect($hostname, $username, $senha);
mysql_select_db($banco);
$q = strtolower($_GET["q"]);
if (!$q) return;
$sql = "select DISTINCT nome from tce_cerimonial where nome LIKE ''''%$q%''''";
$rsd = mysql_query($sql);
while($rs = mysql_fetch_array($rsd)) {
$cname = $rs[''''nome''''];
echo "$cname\\\\\\\\\\\\\\\\n";
}
?>
<?php
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header ("Cache-Control: no-store, no-cache, must-revalidate ''''");
header ("Cache-Control: post-check = 0, pre-check = 0 '''', false");
header ("Pragma: no-cache");
header ("Content-Type: text/html; charset=iso-8859-1",true);
?>
<?php
require_once(''''../Connections/conectbd.php'''');
$conectbd=mysql_connect($hostname, $username, $senha);
mysql_select_db($banco);
$q = strtolower($_GET["q"]);
if (!$q) return;
$sql = "select DISTINCT nome from tce_cerimonial where nome LIKE ''''%$q%''''";
$rsd = mysql_query($sql);
while($rs = mysql_fetch_array($rsd)) {
$cname = $rs[''''nome''''];
echo "$cname\\\\\\\\\\\\\\\\n";
}
?>
isso vai resolver a questão da consulta e caracteres especiais.
na pagina index usa assim....
<?php
session_start();
?>
<script type="text/javascript">
$().ready(function() {
$("#nome").autocomplete("autoComplete.php", {
width: 240,
matchContains: true,
//mustMatch: true,
//minChars: 0,
//multiple: true,
//highlight: false,
//multipleSeparator: ",",
selectFirst: false
});
});
</script>
<div>
<form autocomplete="off" method="POST" action="">
<p>
Nome:
<input name="nome" type="text" id="nome" size="35" maxlength="35" />
<input type="submit" name="pesquisa" value="Pesquisar" style="float:right; background:#0099FF;">
</p>
</form
></div>
<?php
require_once(''../Connections/conexao.php'');
if(empty($nome)){
}
if(!isset($_GET[''nome''])){
$nome = $_POST[''nome''];
if(!empty($_POST[''nome''])){
//SQL para selecionar os registros
$result_cursos = "SELECT * FROM tce_cerimonial WHERE nome LIKE ''%".$nome."%'' LIMIT 1";
$resultado_cursos = mysqli_query($conectbd, $result_cursos);
$total_cursos = mysqli_num_rows($resultado_cursos);
while($rows_usuario = mysqli_fetch_assoc($resultado_cursos)){
echo "<br>";
echo "<strong>NOME:</strong> " . $rows_usuario[''nome''] ."<br>";
echo "<br>";
echo "<strong>INSTITUIÇÃO:</strong> " . $rows_usuario[''instituicao''] . "<br>";
echo "<br>";
echo "<strong>EMAIL:</strong> " . $rows_usuario[''email''] . "<br>";
echo "<br>";
echo "<strong>ENDEREÇO:</strong> " . $rows_usuario[''endereco''] . "<br>";
echo "<br>";
echo "<strong>CONTATO:</strong> " . $rows_usuario[''telefone''] . "<br>";
}
}}
?>
GOSTEI 0