Sistema de busca de urls para Auto Surf

Olá amiguinhos, neste artigo quero compartilhar com vocês uma ferramenta muito importante que o Kebra Gaio Auto Surf utiliza para pesquisar sites no painel de controle.
É um sistema de busca avançada que lhe auxiliará muito na administração de seu auto surf.
Nós administradores sabemos que quando aparece um site com problemas ou vírus em nosso banco de dados é sempre uma tremenda dor de cabeça achar o site, visto que o script de auto surf não possui buscador de urls.
Com esse script basta apenas você digitar um trecho da url que a pagina fará a busca com paginação de resultados, mostrando dados sobre o site, como status e créditos e link direto para edição do site.
O script deve ser inserido em sua pasta "control" de seu surf para funcionar corretamente.
Você pode escolher por baixar o script clicando aqui! ou copiando o código abaixo:
Obs: Dependendo do modelo de seu script algumas caracteristicas (estilos visuais precisam ser editados).

<?
session_start();
session_register("asess_name");
session_register("asess_passwd");
session_register("asess_data");
include("../vars.php");
include("menu.php");
include("adminauth.incl.php");
mysql_connect($db_host, $db_user, $db_pwd);
mysql_select_db($db_name);
adminAuth();
$header = "<img src=img/headeradmin.png width=1090 height=120 border=0>\n";
echo("$header<script language=\"JavaScript\" type=\"text/javascript\" src=\"/clock.js\"></script><table border=1 width=1080 cellpadding=10 class=\"font-size: 10pt; font-family: $fontface\"><tr><td width=20% align=center valign=top style=\"border-right: thin solid black; font-size: 10pt; font-family: $fontface\" bgcolor=\"$admincolor\"><hr color=\"$admincolor\" width=\"145\">");
while (list($key, $val) = each($menu2)) {
    if ($key == $y) {echo("<b><img src=img/seta.png border=0><br>");}
    echo($val);
    if ($key == $y) {echo("<br><img src=img/seta.png border=0></b>");}
    echo("</a>");
    echo("<br>");
}
echo("<br><font face=\"Verdana\" size=1><b>Hora atual: ".date("H:i:s")."</b><br><span id=\"disp\"></span></font></td><td align=left valign=top width=80%>");
?>
<title>Busca avançada de sites</title>
<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="color: #38761d;">
<b>Busca avançada de sites:</b></div>
<div style="color: #38761d;">
<b>Digite apenas o domínio sem (http:// ou www) Ex. nomedosite.com os resultados de sua busca serão exibidos abaixo.</b></div>
</div>

<form method="GET" action="busca.php">
<fieldset>
<label for="consulta">Buscar:</label>
<input type="text" id="consulta" name="consulta" size="90" maxlength="255" />
<input type="submit" value="Pesquisar" />
</fieldset>
</form>

<?php

// Configuração do script
// ========================
$_BS['PorPagina'] = 20; // Número de registros por página
// Verifica se foi feita alguma busca
// Caso contrario, redireciona o visitante
if (!isset($_GET['consulta'])) {

exit;
}
// Salva o que foi buscado em uma variável
$busca = $_GET['consulta'];
// Usa a função mysql_real_escape_string() para evitar erros no MySQL
$busca = mysql_real_escape_string($busca);

// ============================================

// Monta a consulta MySQL para saber quantos registros serão encontrados
$sql = "SELECT COUNT(*) AS total FROM `site` WHERE ((`url` LIKE '%".$busca."%') OR ('%".$busca."%'))";
// Executa a consulta
$query = mysql_query($sql);
// Salva o valor da coluna 'total', do primeiro registro encontrado pela consulta
$total = mysql_result($query, 0, 'total');
// Calcula o máximo de paginas
$paginas =  (($total % $_BS['PorPagina']) > 0) ? (int)($total / $_BS['PorPagina']) + 1 : ($total / $_BS['PorPagina']);

// ============================================

// Sistema simples de paginação, verifica se há algum argumento 'pagina' na URL
if (isset($_GET['pagina'])) {
$pagina = (int)$_GET['pagina'];
} else {
$pagina = 1;
}
$pagina = max(min($paginas, $pagina), 1);
$inicio = ($pagina - 1) * $_BS['PorPagina'];

// ============================================

// Monta outra consulta MySQL, agora a que fará a busca com paginação
$sql = "SELECT * FROM `site` WHERE ((`url` LIKE '%".$busca."%') OR ('%".$busca."%')) ORDER BY `id` LIMIT ".$inicio.", ".$_BS['PorPagina'];
// Executa a consulta
$query = mysql_query($sql);

// ============================================

// Começa a exibição dos resultados
echo "<p>Resultados ".min($total, ($inicio + 1))." - ".min($total, ($inicio + $_BS['PorPagina']))." de ".$total." resultados encontrados para '".$_GET['consulta']."'</p>";
// <p>Resultados 1 - 20 de 138 resultados encontrados para 'minha busca'</p>

echo "<ul>";
while ($resultado = mysql_fetch_assoc($query)) {
$titulo = $resultado['url'];
$texto = $resultado['id'];
$credits = $resultado['credits'];
$status = $resultado['state'];
$link = 'index.php?y=4&u=' . $resultado['id'];
echo "<li>";
echo '<p>Site ID: '.$texto.' &nbsp;&nbsp;&nbsp; Créditos: '.$credits.'&nbsp;&nbsp;&nbsp; Status: '.$status.'';
echo '<br><a href="'.$link.'" title="'.$titulo.'">'.$titulo.'</a><br /></p>';
echo "</li>";
}
echo "</ul>";

// ============================================

// Começa a exibição dos paginadores
if ($total > 0) {
for($n = 1; $n <= $paginas; $n++) {
echo '<a href="?consulta='.$_GET['consulta'].'&pagina='.$n.'">'.$n.'</a>&nbsp;&nbsp;';
}
}

?>



Obs: Este código original foi modificado e aperfeiçoado para este tipo de função:
o código original pode ser obtido abaixo:

Artigo originalmente publicado em 12 de maio de 2009 por Thiago Belem: Sistema de busca em PHP e MySQL com paginação

5 comentários:

legal só falto ensinar ensinar com ocriar o atalho de acesso do script ! ou só de inserir o script na pasta control ele já funciona ?

Olá fabio, neste caso vc pode acessar diretamente seusite/control/busca.php ou criar um link no seu control para acessar diretamente.

obs. para o php nas versões acima da 5.2 as funções:
session_register("asess_name");
session_register("asess_passwd");
session_register("asess_data");
não funcionam mais, no caso basta remover as linhas pois a função $_SESSION gravará sua sessão da mesma forma.

Mas este script serve para qualquer tipo de busca?
ex: buscar um determinado produto em meu site.
Obrigado.

Sim amigo, com ele vc pode buscar o que quizer em seu banco de dados.
vc só precisa alterar as tabelas que serão buscadas e configurar de acordo com a usa necessidade.
Eu que agradeço!

Postar um comentário