lu4n 0 Denunciar post Postado Fevereiro 25, 2011 olá bom jah procurei aqui e no google à um tempão e nada resolveu meu problema é o seguinte : tenho uma tabela "noticias, eventos, download" fiz um sistema de busca q funfa buscando uma tabela so q agora gostaria ao usuario buscar a palavra-"chave" ele fazer a busca nessas 3 tabelas, nas seguintes colunas descricao.noticias titulo.download descricao.eventos e retornar resultado das palavras encontrada segue o codigo if(isset($_POST['palavra']) and ($_POST['palavra'] != "")) { $palavra1 = str_replace(" ", "%", formatDados($_POST['palavra'])); $resultado = mysql_query("SELECT * FROM noticias WHERE descricao LIKE '%".$palavra1."%' ORDER BY data DESC"); if(!$resultado){ die("Não foi possivel realizar a consulta!!"); } $conta = mysql_num_rows($resultado); $total = $conta; print(" Sua busca retornou <b>$total</b> resultados.<br /><br />\n"); if(mysql_num_rows($resultado) == 0){ print(" "); } else { print("<h2>Download</h2> <div align=\"left\" style='border-bottom: 1px dotted #CCCCCC; width:100%; text-align: left;'></div>"); while($row = mysql_fetch_array($resultado)) { $id = $row['id']; $titulo = $row['titulo']; print("\n"); $palavrachave = str_replace($palavra1, "<b>".$palavra1."</b>", $titulo); print("<a href='noticias.php&id=$id'>".$palavrachave."</a><br />\n"); } } // }else{ print("<div align='center'><br /><br /><br />O campo palavra est? vazio!!<br><a href='javascript:history.go(-1)'>Voltar</a></div>"); } Compartilhar este post Link para o post Compartilhar em outros sites
gremio10 14 Denunciar post Postado Fevereiro 25, 2011 WHERE descricao.noticias LIKE "a" OR titulo.download LIKE "a" OR descricao.eventos LIKE "a" Compartilhar este post Link para o post Compartilhar em outros sites
lu4n 0 Denunciar post Postado Fevereiro 25, 2011 WHERE descricao.noticias LIKE "a" OR titulo.download LIKE "a" OR descricao.eventos LIKE "a" ficaria assim ? $resultado = mysql_query("SELECT a.*, p.* FROM s_noticias a, s_cd p WHERE descricao.a LIKE '%".$palavra1."%' OR titulo.p LIKE '%".$palavra1."%' ORDER BY data DESC"); Compartilhar este post Link para o post Compartilhar em outros sites
Victor Cometti 8 Denunciar post Postado Fevereiro 25, 2011 union SELECT descricao FROM noticias WHERE descricao LIKE '%".$palavra1."%' UNION SELECT titulo FROM download WHERE titulo LIKE '%".$palavra1."%' UNION SELECT descricao FROM eventos WHERE descricao LIKE '%".$palavra1."%' Compartilhar este post Link para o post Compartilhar em outros sites
lu4n 0 Denunciar post Postado Março 1, 2011 olha so to com esse codigo aqui mais ñ aparece o resultado so o total alguem pode ajudar aquii <?php if(isset($_POST['palavra']) and ($_POST['palavra'] != "")) { $palavra1 = str_replace(" ", "%", formatDados($_POST['palavra'])); $resultado = mysql_query("SELECT id, descricao FROM noticias WHERE descricao LIKE '%".$palavra1."%' UNION SELECT id, titulo FROM download WHERE titulo LIKE '%".$palavra1."%' UNION SELECT id, descricao FROM eventos WHERE descricao LIKE '%".$palavra1."%' "); if(!$resultado){ die("Não foi possivel realizar a consulta!!"); } $conta = mysql_num_rows($resultado); $total = $conta; print(" Sua busca retornou <b>$total</b> resultados.<br /><br />\n"); if(mysql_num_rows($resultado) == 0){ print(" "); } else { print("<h2>Download</h2> <div align=\"left\" style='border-bottom: 1px dotted #CCCCCC; width:100%; text-align: left;'></div>"); while($row = mysql_fetch_array($resultado)) { $id = $row['id']; $titulo = $row['titulo']; $palavrachave = str_replace($palavra1, "<b>".$palavra1."</b>", $titulo); // print("<a href='pagina&id=$id'>".$palavrachave."</a><br />\n"); // } } // }else{ print("<div align='center'><br /><br /><br />O campo palavra est? vazio!!<br><a href='javascript:history.go(-1)'>Voltar</a></div>"); } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Victor Cometti 8 Denunciar post Postado Março 2, 2011 troca $resultado = mysql_query("SELECT id, descricao FROM noticias WHERE descricao LIKE '%".$palavra1."%' UNION SELECT id, titulo FROM download WHERE titulo LIKE '%".$palavra1."%' UNION SELECT id, descricao FROM eventos WHERE descricao LIKE '%".$palavra1."%' "); por $resultado = mysql_query("SELECT id, descricao FROM noticias WHERE descricao LIKE '%".$palavra1."%' UNION SELECT id, titulo FROM download WHERE titulo LIKE '%".$palavra1."%' UNION SELECT id, descricao FROM eventos WHERE descricao LIKE '%".$palavra1."%' ") or die(mysql_error()); e v se aparece algum erro outra coisa quando você usar o union você usa somente os nomes das colunas da primeira tabela, nessa query os nomes são id e descricao $row['id']; $row['descricao']; e não $row['id']; $row['titulo']; e pra q essa condição? if(mysql_num_rows($resultado) == 0){ print(" "); } else { não seria melhor assim if(mysql_num_rows($resultado) != 0){ Compartilhar este post Link para o post Compartilhar em outros sites
lu4n 0 Denunciar post Postado Abril 11, 2011 troca $resultado = mysql_query("SELECT id, descricao FROM noticias WHERE descricao LIKE '%".$palavra1."%' UNION SELECT id, titulo FROM download WHERE titulo LIKE '%".$palavra1."%' UNION SELECT id, descricao FROM eventos WHERE descricao LIKE '%".$palavra1."%' "); por $resultado = mysql_query("SELECT id, descricao FROM noticias WHERE descricao LIKE '%".$palavra1."%' UNION SELECT id, titulo FROM download WHERE titulo LIKE '%".$palavra1."%' UNION SELECT id, descricao FROM eventos WHERE descricao LIKE '%".$palavra1."%' ") or die(mysql_error()); e v se aparece algum erro outra coisa quando você usar o union você usa somente os nomes das colunas da primeira tabela, nessa query os nomes são id e descricao $row['id']; $row['descricao']; e não $row['id']; $row['titulo']; e pra q essa condição? if(mysql_num_rows($resultado) == 0){ print(" "); } else { não seria melhor assim if(mysql_num_rows($resultado) != 0){ vlw aii resolvidoo Brigadãoo ;) Compartilhar este post Link para o post Compartilhar em outros sites