Como montar um autocomplete em PHP, retornando dois campos?

24/01/2017

0

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
<?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

José Silva

Responder

Posts

24/01/2017

Joel Rodrigues

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.
Responder

25/01/2017

José Silva

Oi Joel tudo bem, Cara não manjo como funciona o json é minha primeira vez pode me auxiliar com isso?
Responder

27/05/2019

Marcos Silva

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";

}
?>
Responder

27/05/2019

Marcos Silva

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";

}
?>




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>";



}
}}

?>
Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar