Quelipe 15 Denunciar post Postado Março 5, 2010 Aqui vai uma demonstração de uma consulta que a medida que você digita ela tras os resultados do banco de dados instantaneamente: Para ver funcionando CLIQUE AQUI. Segue o código: Esse é o código onde você irá digitar o que quer buscar <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Untitled Document</title> <script> //função para pegar o objeto ajax do navegador function xmlhttp() { // XMLHttpRequest para firefox e outros navegadores if (window.XMLHttpRequest) { return new XMLHttpRequest(); } // ActiveXObject para navegadores microsoft var versao = ['Microsoft.XMLHttp', 'Msxml2.XMLHttp', 'Msxml2.XMLHttp.6.0', 'Msxml2.XMLHttp.5.0', 'Msxml2.XMLHttp.4.0', 'Msxml2.XMLHttp.3.0','Msxml2.DOMDocument.3.0']; for (var i = 0; i < versao.length; i++) { try { return new ActiveXObject(versao[i]); } catch(e) { alert("Seu navegador não possui recursos para o uso do AJAX!"); } } // fecha for return null; } // fecha função xmlhttp //função para fazer a requisição da página que efetuará a consulta no DB function carregar() { a = document.getElementById('busca').value; ajax = xmlhttp(); if (ajax) { ajax.open('get','busca.php?busca='+a, true); ajax.onreadystatechange = trazconteudo; ajax.send(null); } } //função para incluir o conteúdo na pagina function trazconteudo() { if (ajax.readyState==4) { if (ajax.status==200) { document.getElementById('resultados').innerHTML = ajax.responseText; } } } </script> </head> <body> <form id="form1" action="" method="post"> Busca: <input type="text" name="busca" id="busca" value="" onkeyUp="carregar()"/> </form> <p> </p> Resultado da busca: <div id="resultados" style="border:1px solid #CCCCCC; width:200px;"> </div> </body> </html> Esse é o código que efetuará a consulta na base de dados: Salve como busca.php <?php mysql_connect("localhost","root",""); mysql_select_db("pesquisa"); $busca = $_GET['busca']; if($busca != "") { $sql = "SELECT * FROM cadastros WHERE cadastro LIKE '%$busca%' ORDER BY cadastro ASC "; $query = mysql_query($sql); //variavel para zebrar as linhas $cont = 0; while($row = mysql_fetch_object($query)) { //faz a diferenciação das cores para as linhas dos resultados if($cont %2 ==0) { $cor = "#EDEDED"; } else { $cor = "#FFFFFF"; } echo "<div style='background:$cor'>"; echo $row->idcadastro. " - "; echo $row->cadastro."<br>"; echo "</div>"; $cont ++; } } ?> Segue o código de uma base de dados para teste. Crie um banco de dados com o nome de pesquisa; CREATE TABLE `cadastros` ( `idcadastro` int(5) NOT NULL auto_increment, `cadastro` varchar(100) NOT NULL, PRIMARY KEY (`idcadastro`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=29 ; -- -- Extraindo dados da tabela `cadastros` -- INSERT INTO `cadastros` (`idcadastro`, `cadastro`) VALUES (1, 'Vectra'), (2, 'Fusca'), (3, 'vectra cd'), (4, 'astra'), (5, 'ogi'), (6, 'gol 1.8'), (7, 'Fiat uno'), (8, 'Fiat elba'), (9, 'S10'), (10, 'F250'), (11, 'golf'), (12, 'golf gti'), (13, 'gol gti'), (14, 'corsa'), (15, 'Kombi'), (16, 'Wariant'), (17, 'Celta'), (18, 'corsa sedan'), (19, 'Monza'), (20, 'Honda'), (21, 'Honda civic'), (22, 'Punto'), (23, 'Fiat tipo'), (24, 'Stilo'), (25, 'Caravan'), (26, 'Opala'), (27, 'Omega CD'), (28, 'Omega'); Atenciosamente, Edimilson sousa Quelipe. At+ Compartilhar este post Link para o post Compartilhar em outros sites
Dudu-Programador 0 Denunciar post Postado Março 25, 2010 Bom Dia irmão sou novo na programação em PHP, achei esse código show mas não consegui fazer funcionar adpatei as minhas necessidades mas deu esse erro Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\wamp\www\PORTAL\busca.php on line 13 OU SEJA NESSA LINHA ESTÁ DANDO ERRO, e está do mesmo jeito da sua, pode me ajudar por favor ? Obrigado! Durvaldo Razoni. Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Março 25, 2010 Faz o seguinte, troca: $query = mysql_query($sql);por $query = mysql_query($sql) or die( mysql_error() ); e ai você vai ver o motivo do erro. Compartilhar este post Link para o post Compartilhar em outros sites
wdc_black_ 0 Denunciar post Postado Maio 21, 2010 eai quelipe, tava tentando adapta teu codigo, mas apresentou um erro... tem algum outro modo de eu deixar dessa forma aqui? <?php mysql_connect("localhost","root",""); mysql_select_db("admin"); $busca = $_GET['busca']; if($busca != "") { $sql = "SELECT * FROM noticias WHERE titulo LIKE '%$busca%' ORDER BY titulo ASC "; $query = mysql_query($sql); //variavel para zebrar as linhas $cont = 0; while($row = mysql_fetch_object($query)) { $id= $dados["id"]; $titulo= $dados["titulo"]; $texto= $dados["texto"]; $data= $dados["data"]; //faz a diferenciação das cores para as linhas dos resultados echo " <table width='878' border='0' cellspacing='3' cellpadding='0' align='center' class='noticia'> <tr> <td width='170' class='noticia'>$titulo</td> <td width='454' class='noticia'>$texto</td> <td width='140' class='noticia'>$data</td> <td width='60' class='noticia'><a href='?pag=editar-noticia&id=$id'><img src='images/edit.png' border='0' /></a></td> <td width='60' class='noticia'><a href='?pag=excluir-not&id=$id'><img src='images/remove.png' border='0' /></a></td> </tr> </table>"; } } ?> erro Fatal error: Cannot use object of type stdClass as array in C:\xampp\htdocs\admin\busca.php on line 14 linha 14 $id= $dados["id"]; como posso resolver isso? abraço só pra avisar que ja consegui ;) fiz assim <?php mysql_connect("localhost","root",""); mysql_select_db("admin"); $busca = $_GET['busca']; if($busca != "") { $sql = "SELECT * FROM noticias WHERE titulo LIKE '%$busca%' ORDER BY titulo ASC "; $query = mysql_query($sql); //variavel para zebrar as linhas $cont = 0; while($row = mysql_fetch_object($query)) { ?> <table width='878' border='0' cellspacing='3' cellpadding='0' align='center' class='noticia'> <tr> <td width='170' class='noticia'><?php echo $row->titulo ?></td> <td width='454' class='noticia'><?php echo $row->texto ?></td> <td width='140' class='noticia'><?php echo $row->data ?></td> <td width='60' class='noticia'><a href='?pag=editar-noticia&id=<?php echo $row->id ?>'><img src='images/edit.png' border='0' /></a></td> <td width='60' class='noticia'><a href='?pag=excluir-not&id=<?php echo $row->id ?>'><img src='images/remove.png' border='0' /></a></td> </tr> </table> <?php } } ?> ;) Compartilhar este post Link para o post Compartilhar em outros sites
André D. Molin 15 Denunciar post Postado Maio 22, 2010 Você está tentando acessar um stdClass como se fosse um array. Veja que o fetch utilizado no código foi o object, então ele deverá ser acessado como um objeto e não como um array. $titulo = $dados->titulo; Veja que é diferente de $titulo = $dados['titulo']; Compartilhar este post Link para o post Compartilhar em outros sites
CajuCLC 1 Denunciar post Postado Maio 23, 2010 Nossa, bem legal. Vai servir para algo que eu estava fazendo. Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites