Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, pessoal.Preciso de um sistema de busca interna em PHP para colocar no meu site. Sei que existem códigos "prontos" na net e gostaria de saber se algum de vocês já utilizou em algum site seus e coloquem exemplos de urls para eu visualizar.Preciso disso urgente... só falta colocar o sistema de busca interna pro site ir pro ar e eu não sei nada de PHP. Gostaria que vocês me ajudassem.Obrigado.Juninho
O site conterá uma seção onde serão publicados artigos (textos), outra onde serão colocadas leis.Preciso disponibilizar um campo de busca para o usuário que queira saber sobre "corrupção", por exemplo, possa achar o texto relacionado; ou o usuário que queira a lei 8078/90 que a encontre no site.Obrigado.Juninho
Cara, isso é facil...
Numa tabela você tem por exemplo:
Na busca você faz assim:
PHP
[*]$string = "corrupção"; // Aqui usa o $_POST do formulário pra resgatar a palavra digitada
[*]
[]$busca = mysql_query("SELECT FROM tabela WHERE nome LIKE '%" . $string . "%' OR noticia LIKE '%" . $string . "%' ORDER by nome ASC");
[*]
[*]while($dados = mysql_fetch_array($busca)){
[*]$nome = $dados["nome"];
[*]
[*]echo"$nome" . "<br>";
[*]
Este foi só um exemplo bem básico mesmo, mas a base será isso, não tem muito segredo...
Oi. Será que vcs têm o código pronto para me passar e ensinar como implantá-lo?Não sei nada de PHP nem programação, entretanto sei trabalhar com o dreamweaver.É urgente... porque preciso desse sistema de busca pro meu site de qq forma.Obrigado, pessoal.Juninho
Ajudem-me, por favor.Juninho
Tipo o se site tem alguma coisa colcoada em banco de dados????Se tiver. posta ai a estrutura da tabela que você queira fazer a busca de informação...
Não tem nada em banco de dados não, porque eu não sei criar um.O que eu quero é o seguinte: o usuário manda um texto pra mim, dai eu publico na seção respectiva, por exemplo: manda um texto com o título "Contrato de compra e venda", que é matéria de Direito Civil, então tenho que colocá-lo na seção Direito Civil. Daí quero que o usuário que estiver navegando no site possa digitar no campo de busca "compra e venda" e achar esse texto. Todos os texto publicados estarão numa tabela, onde a primeira célula consta o título do texto, nome da seção e nome do autor e a segunda o texto em si.Estilo a busca que tem no site "www.jus.com.br".Como eu faço isso? Tem código já pronto na net? Porque eu não sei programação.Muito obrigado.Juninho
Infelizmente sem um banco de dados você naum vai conseguir fazer essa busca no seu site.... Pois as buscas saum feitas em informações dentro de um banco...Esse site que você flw faz as busca dentro do banco de dados deles...
da pra faze busca sem banco de dados sim, mas o processo n eh tao simples, eu vo posta um exemplo aki, e você deve estudar as funcoes usadas no www.php.net
o exemplo c baseia em procurar conteudo em arquivos .html (sem conteudo dinamico) numa pasta conteudo, dentro do site:
PHP
[*]$busca = "palavra";
[*]
[*]$pasta = "conteudo";
[*]$dir = opendir($pasta);
[*]
[*]$find = array();
[*]
[*]while($arq = readdir($dir)) {
[*] $buff = file_get_contents($pasta . "/" . $arq);
[] if(preg_match("/.($busca).*/i", $buff)) {
[*] $find[] = $arq;
[*] }
[*]}
[*]
[*]if(count($find)) {
[*] echo "Sua busca obteve sucesso nas seguintes paginas:<br />";
[*] foreach($find as $v) {
[*] echo "<a href='{$pasta}/{$v}'>{$v}</a><br />";
[*] }
[*]} else {
[*] echo "Sua busca nao retornou nenhum resultado";
[*]}
c você precisar buscar conteudo em paginas que sao geradas dinamicamente (q usam PHP) você me fala q eu posto um jeito pra faze nelas ;)
Como que eu faço um banco de dados pra colocar os textos... tudo dividido por seção, organizado... e pra pagína buscar nele?Abraço e obrigado.Desculpa a ignorância mas é pq eu não sei programação, PHP, MySQL não.Juninho
Olá Juninho,
Todo sistema de busca é baseado em banco de dados pelo fato de; uma busca é apenas uma comparação entre os dados inseridos pelo usuário com sua base de dados.
No caso que você não possui "uma" ligada a interface de seu site, é algo IMPOSSÍVEL buscar dados em um site sem "armazenamento de dados".
Para que você faça uma base de dados para seu site, seria legal, ao ver, que você confeccione novamente seu site, pois não justifica ter um com um banco por trás e você não guardar nada nele. . .
Bom, maiores detalhes, posta aí que ajudamos a você NA PARTE LÓGICA! ;)
Abraço!
DEUS Abençõe!!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif
No caso que você não possui "uma" ligada a interface de seu site, é algo IMPOSSÍVEL buscar dados em um site sem "armazenamento de dados".[](/topic/142109-sistema-de-busca-interna-no-site-33/?do=findComment&comment=409317)
Cara, impossível não é... só é trabalhoso. Pois você tem que montar uma rotina para buscar nos diretórios e subdiretórios arquivos HTML ou PHP, abrí-los, limpar as tags e o código PHP, e fazer uma buscar no que sobrou através de expressões regulares e ir salvando as ocorrências. Eu já fiz um negócio desses... é um trampo, sem dúvida que fica mais fácil se você tiver todo o conteúdo do site num banco de dados.
Abraços.
Com certeza Illidan,
Somente terá que fazer o site todo novamente!! http://forum.imasters.com.br/public/style_emoticons/default/clap.gif
DEUS ABENÇÕE http://forum.imasters.com.br/public/style_emoticons/default/joia.gif
Abraço!
Como que eu construo o site pra ter essa base de banco de dados ai que você mencionou?Como que eu vou ter que fazer o site, que programa vou ter que usar, como que faz?Obrigado.Juninho
galera, calma, faze sem banco de dados n eh esse seculo todo n... aki mesmo (no meu outro post) eu fiz um script de exemplo pra isso... vejam q n eh tao grande assim... agora, c quizer fazer em paginas PHP excluindo tags, você faz o conexao de socket com o proprio site, e assim ja vem o HTML direto, sem PHP, mas parece q o pessoal nem viu q eu postei um script... pode olhar ali em cima, eh ateh simples
Como que eu faço pra construir o banco de dados (mysql) e o site em php?Partindo do zero e sendo leigo.É que td que vcs disseram até agora, pra mim que sou leigo, não adiantou nada.Obrigado.
É possível realizar a busca sim em diretórios e sem banco de dados. Uma das grandes vantagens é que a atualização é automática. Simplesmente você indica a quantidade de diretórios e quais são esses diretórios, havendo portanto a necessidade de simplesmente informar o caminho. Caso queiram ver o script rodando basta acessar www.edumedeiros.com. Inclusive o resultado traz o nome do arquivo. Estou pesquisando para que saia o título da página para que facilite para o visitante. Caso alguém tenha como apresentar o título ou queira esse script de busca interna nos diretórios sem banco de dados é só solicitar.Edu Medeiros.com ®www.edumedeiros.com
Olá amigo, já passei pela sua situação e entendo perfeitamente como esta sentindo ehehehe
primeiro, você vai precisar de um servidor de testes configurado no seu pc:
http://www.imasters.com.br/artigo.php?cn=271&cc=44
Instalando o PHPMyAdmin:
http://www.imasters.com.br/artigo.php?cn=3507&cc=239
Iniciando:
http://www.imasters.com.br/artigo.php?cn=270&cc=44
http://www.imasters.com.br/artigo.php?cn=62&cc=2
e então você comeca a desenvolver o site:
http://www.imasters.com.br/artigo.php?cn=650&cc=2
PS: Tudo isso q lhe passei foi o que procurei no site da iMasters, basta procurar na internet ou aqui mesmo no fórum e você logo acha tudo q está procurando.
Taum, mãos a obra... Vamos Estudar!!!
Abraço!
Olá! Estou precisando fazer o mesmo esquema, tenho só algumas páginas de produtos que não terão alterações tão cedo.
Então está tudo fixo, sem banco de dados. Mas precisa de uma busca que procura no conteúdo e lista os links das páginas encontradas
Estou tentando usar seu código Wilker, vcs podem me dar um help sobre como adaptar? http://forum.imasters.com.br/public/style_emoticons/default/blush.gif
Fiz um teste assim:
no arquivo da busca usei o form:
<form id="form1" name="form1" method="post" action="busca.php">
<input name="palavra" type="text" id="palavra" />
<input type="submit" name="Submit" value="Submit" />
</form>
e no busca.php copiei seu código, só alterei a variável busca recebendo $palavra e a pasta onde estão os arquivos:
<?
$busca = "$palavra";
echo $busca;
$pasta = "produtos";
$dir = opendir($pasta);
$find = array();
while($arq = readdir($dir)) {
$buff = file_get_contents($pasta . "/" . $arq);
if(preg_match("/.($busca)./i", $buff)) {
$find[] = $arq;
}
}
if(count($find)) {
echo "Sua busca obteve sucesso nas seguintes paginas:<br />";
foreach($find as $v) {
echo "<a href='{$pasta}/{$v}'>{$v}</a><br />";
}
} else {
echo "Sua busca nao retornou nenhum resultado";
}
?>
Dentro da pasta produtos, criei 2 arquivos com algumas palavras. Busque a palavra "um" que estava em um dos arquivos e o busca.php exibiu este erro:
PHP Warning: file_get_contents(produtos/.) [function.file-get-contents]: failed to open stream: Permission denied in E:\home\azpa\Web\aligera\busca.php on line 11 PHP Warning: file_get_contents(produtos/..) [function.file-get-contents]: failed to open stream: Permission denied in E:\home\azpa\Web\aligera\busca.php on line 11
Sabem o que preciso mudar???
brigadinhaaa :D
Ju
>
da pra faze busca sem banco de dados sim, mas o processo n eh tao simples, eu vo posta um exemplo aki, e você deve estudar as funcoes usadas no www.php.net
o exemplo c baseia em procurar conteudo em arquivos .html (sem conteudo dinamico) numa pasta conteudo, dentro do site:
<!--php1--><div class='phptop'>PHP</div><div class='phpmain'><!--ephp1--><link href = "style_images/css_php.css" rel = "stylesheet" type = "text/css">
- $busca = "palavra";
-
- $pasta = "conteudo";
- $dir = opendir<span style=' color: green;'>($pasta)</span>;
-
-
-
while($arq = readdir<span style=' color: green;'>($dir)</span>) {
- $buff = file_get_contents<span style=' color: green;'>($pasta . "/" . $arq)</span>;
- if(preg_match("/.*<span style=' color: green;'>($busca).*/i"</span>, $buff)) {
- $find<span style=' color: green;'>[]</span> = $arq;
-
-
if(count<span style=' color: green;'>($find)</span>) {
- echo "Sua busca obteve sucesso nas seguintes paginas:<br />";
- foreach<span style=' color: green;'>($find as $v)</span> {
- echo "<a href='{$pasta}/{$v}'>{$v}</a><br />";
<!--php2--></div><!--ephp2-->
c você precisar buscar conteudo em paginas que sao geradas dinamicamente (q usam PHP) você me fala q eu posto um jeito pra faze nelas ;)
estuda bastante primeiro juninho... tem que ter pelomenos a noção de oqué é oque...falta muito conceito...
se possivel faça um curso ou batalhe bastante para ser auto de data...
Olá!
Não tive tempo de ler todos os posts, não sei se de alguma forma servirá,
mas a algum tempo criei um script de busca interna no site, que busca os resultados nas páginas e não no db, tá no site www.phpbrasil.com com o nome de busca interna
Pessoal,
estou procurando pelo mesmo tipo de coisa (inserir busca em site sem BD), e encontrei algo que pode ser que ajude. ainda não testei, para aparentemente é o que procuramos.
Está no site http://tribusca.trilhas.com
Dá pra ler a respeito, testar, e baixar gratuitamente. Acabei de baixar e vou testar. Quem de repente já tiver considerações a respeito, escreva aqui!
Abço!
M.Hunger.
>
da pra faze busca sem banco de dados sim, mas o processo n eh tao simples, eu vo posta um exemplo aki, e você deve estudar as funcoes usadas no www.php.net
o exemplo c baseia em procurar conteudo em arquivos .html (sem conteudo dinamico) numa pasta conteudo, dentro do site:
PHP
-
[*]$pasta = "conteudo";
[*]$dir = opendir($pasta);
[*]
[*]$find = array();
[*]
[*]while($arq = readdir($dir)) {
[*] $buff = file_get_contents($pasta . "/" . $arq);
[] if(preg_match("/.($busca).*/i", $buff)) {
[*] $find[] = $arq;
[*] }
[*]}
[*]
[*]if(count($find)) {
[*] echo "Sua busca obteve sucesso nas seguintes paginas:<br />";
[*] foreach($find as $v) {
[*] echo "<a href='{$pasta}/{$v}'>{$v}</a><br />";
[*] }
[*]} else {
[*] echo "Sua busca nao retornou nenhum resultado";
[*]}
c você precisar buscar conteudo em paginas que sao geradas dinamicamente (q usam PHP) você me fala q eu posto um jeito pra faze nelas ;)
Cara usei esse seu código e funcionou somente local, ou seja online não funfou, entretanto quando digito ex: brasil.html ele também busca outros arquivos em html que estão dentro da pasta. Como faço para ele buscar somente o que eu digitei?
Cara, geralmente os sites quando tem busca eles fazem consultas nas tabelas...Tem outros sites que você escolhe sobre o assunto (tabelas da base relacionanda a determinado assunto) e ele faz soh sobre akela tabela... tipo...Eh bem simples de fazer um sistema de busca de site...Tipo se precisar de ajuda eh soh posta ai a estrutura da sua tabela e os campos que querem que seja feito essa busca...