Advertisement
linukiss

busca.php

Nov 18th, 2011
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.04 KB | None | 0 0
  1. <?php
  2.  
  3. // Configuração do script
  4. // ========================
  5. $_BS['PorPagina'] = 20; // Número de registros por página
  6.  
  7. // Conexão com o MySQL
  8. // ========================
  9. $_BS['MySQL']['servidor'] = 'localhost';
  10. $_BS['MySQL']['usuario'] = 'root';
  11. $_BS['MySQL']['senha'] = '123';
  12. $_BS['MySQL']['banco'] = 'noticias';
  13. mysql_connect($_BS['MySQL']['servidor'], $_BS['MySQL']['usuario'], $_BS['MySQL']['senha']);
  14. mysql_select_db($_BS['MySQL']['banco']);
  15. // ====(Fim da conexão)====
  16.  
  17. // Verifica se foi feita alguma busca
  18. // Caso contrario, redireciona o visitante
  19. if (!isset($_GET['consulta'])) {
  20. header("Location: http://localhost/comptime");
  21. exit;
  22. }
  23. // Se houve busca, continue o script:
  24.  
  25. // Salva o que foi buscado em uma variável
  26. $busca = $_GET['consulta'];
  27. // Usa a função mysql_real_escape_string() para evitar erros no MySQL
  28. $busca = mysql_real_escape_string($busca);
  29.  
  30. // ============================================
  31.  
  32. // Monta a consulta MySQL para saber quantos registros serão encontrados
  33. $sql = "SELECT COUNT(*) AS total FROM `comptime` WHERE (`ativa` = 1) AND ((`titulo` LIKE '%".$busca."%') OR ('%".$busca."%'))";
  34. // Executa a consulta
  35. $query = mysql_query($sql);
  36. // Salva o valor da coluna 'total', do primeiro registro encontrado pela consulta
  37. $total = mysql_result($query, 0, 'total');
  38. // Calcula o máximo de paginas
  39. $paginas =  (($total % $_BS['PorPagina']) > 0) ? (int)($total / $_BS['PorPagina']) + 1 : ($total / $_BS['PorPagina']);
  40.  
  41. // ============================================
  42.  
  43. // Sistema simples de paginação, verifica se há algum argumento 'pagina' na URL
  44. if (isset($_GET['pagina'])) {
  45. $pagina = (int)$_GET['pagina'];
  46. } else {
  47. $pagina = 1;
  48. }
  49. $pagina = max(min($paginas, $pagina), 1);
  50. $inicio = ($pagina - 1) * $_BS['PorPagina'];
  51.  
  52. // ============================================
  53.  
  54. // Monta outra consulta MySQL, agora a que fará a busca com paginação
  55. $sql = "SELECT * FROM usuario WHERE login ='%$busca%' ";;
  56. // Executa a consulta
  57. $query = mysql_query($sql);
  58.  
  59. // ============================================
  60.  
  61. // Começa a exibição dos resultados
  62. echo "<p>Resultados ".min($total, ($inicio + 1))." - ".min($total, ($inicio + $_BS['PorPagina']))." de ".$total." resultados encontrados para '".$_GET['consulta']."'</p>";
  63. // <p>Resultados 1 - 20 de 138 resultados encontrados para 'minha busca'</p>
  64.  
  65. echo "<ul>";
  66. while ($resultado = mysql_fetch_assoc($query)) {
  67. $titulo = $resultado['titulo'];
  68. $texto = $resultado['texto'];
  69. $link = 'http://localhost/comptime/busca.php?id=' . $resultado['id'];
  70. echo "<li>";
  71. echo '<a href="'.$link.'" title="'.$titulo.'">'.$titulo.'</a><br />';
  72. echo date('d/m/Y H:i', strtotime($resultado['cadastro']));
  73. echo '<p>'.$texto.'</p>';
  74. echo '<a href="'.$link.'" title="'.$titulo.'">'.$link.'</a>';
  75. echo "</li>";
  76. }
  77. echo "</ul>";
  78.  
  79. // ============================================
  80.  
  81. // Começa a exibição dos paginadores
  82. if ($total > 0) {
  83. for($n = 1; $n <= $paginas; $n++) {
  84. echo '<a href="?consulta='.$_GET['consulta'].'&pagina='.$n.'">'.$n.'</a>&nbsp;&nbsp;';
  85. }
  86. }
  87.  
  88. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement