Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Elizandro Tavares

[Busca + Paginação]

Recommended Posts

Olá,

 

estou usando o código abaixo para fazer a busca no banco e listar os resultados; até ai tudo bem, funciona certinho, porém tenho muitos resultados e gostaria de paginar tipo com limite de 10 empresas por página.

 

Alguém poderia me ajudar, pois usei sem exagero mais de 15 exemplos na net e não consegui adaptar.

 

Agradeço a colaboração...

 

 

<html> 
<head> 
<title>teste busca</title> 
<script type="text/javascript" src="jquery/js/jquery-1.4.2.min.js"></script> 
<script type="text/javascript" src="jquery/js/jquery-ui-1.8.2.custom.min.js"></script> 
<script type="text/javascript"> 
jQuery(document).ready(function(){
$('#busca').autocomplete({source:'completa.php', minLength:3});
});
</script> 
<link rel="stylesheet" href="jquery/css/smoothness/jquery-ui-1.8.2.custom.css" /> 
<link href="css/dadosenfeite.css" type="text/css" rel="stylesheet" media="screen" />
<style type="text/css"><!--
/* style the auto-complete response */
li.ui-menu-item { font-size:12px !important; }
--></style> 
</head> 
 
<body>
 
<center>
<br><br><br><br><br><br>
<form name="frmBusca" method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>?a=buscar" >
<table><tr>
<td><input id="busca" type="text" name="palavra" /></td>
<td><input  type="submit"  value="Buscar por nome" /></td>
</form>
</tr></table>
</center>
<br><br>
 
<div id="fundotabela">
<table class="vertical-tablelog" align="center">
<tr>
<td  class="azul" ><b>
Nome da Empresa
</b></td>
<td  class="azul" ><b>
Cidade
</b></td>
<td  class="azul" ><b>
Telefone
</b></td>
</tr>
 
<?php
include ('config.php');
 
if(isset($_GET['a'])) {
$a = $_GET['a'];
if ($a == "buscar") {
$palavra = trim($_POST['palavra']);
$sql = mysql_query("SELECT * FROM empresas WHERE nome LIKE '%".$palavra."%' ORDER BY nome");
$numRegistros = mysql_num_rows($sql);
if ($numRegistros != 0) {
while ($produto = mysql_fetch_object($sql)) {
echo "<tr>";
echo "<td>"  . $produto->nome . "</td>";
echo "<td>"  . $produto->cidade . "</td>";
echo "<td>"  . $produto->telefone . "</td>";
}
} else {
}
}}
echo "</tr></table>"; /*fecha a tabela apos termino de impressão das linhas*/
echo "</div>";
?>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tive um probleminha...

 

Usando o código abaixo ele mostra a paginação, move entre os registros, porém se tenho só 3 resultados por exemplo ele mostra todas as páginas ao invés de 01 página. Veja o código.

 

 

<html> 
<head> 
<title>teste busca</title> 
<script type="text/javascript" src="jquery/js/jquery-1.4.2.min.js"></script> 
<script type="text/javascript" src="jquery/js/jquery-ui-1.8.2.custom.min.js"></script> 
<script type="text/javascript"> 
jQuery(document).ready(function(){
$('#busca').autocomplete({source:'completa.php', minLength:3});
});
</script> 
<link rel="stylesheet" href="jquery/css/smoothness/jquery-ui-1.8.2.custom.css" /> 
<link href="css/dadosenfeite.css" type="text/css" rel="stylesheet" media="screen" />
<style type="text/css"><!--
/* style the auto-complete response */
li.ui-menu-item { font-size:12px !important; }
--></style> 
</head> 
 
<body>
 
<center>
<br><br><br><br><br><br>
<form name="frmBusca" method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>?busca=buscar" >
<table><tr>
<td><input id="busca" type="text" name="palavra" /></td>
<td><input  type="submit"  value="Buscar por nome" /></td>
</form>
</tr></table>
</center>
<br><br>
 
<div id="fundotabela">
<table class="vertical-tablelog" align="center">
 
<tr>
<td  class="azul" ><b>
Nome da Empresa
</b></td>
<td  class="azul" ><b>
Cidade
</b></td>
<td  class="azul" ><b>
Telefone
</b></td>
</tr>
 
<?php
 
include ('config.php');
$numreg = 5; 
if (!isset($pg)) {
$pg = 0;
}
$inicial = $pg * $numreg;
$sql_conta = mysql_query("SELECT * FROM empresas");
$quantreg = mysql_num_rows($sql_conta);
 
if(isset($_GET['busca'])) {
$a = $_GET['busca'];
if ($a == "buscar") {
$palavra = trim($_POST['palavra']);
$sql = mysql_query("SELECT * FROM empresas WHERE nome LIKE '%".$palavra."%' ORDER BY nome LIMIT $inicial, $numreg");
$numRegistros = mysql_num_rows($sql);
echo "<br><br>";
if ($numRegistros != 0) {
while ($produto = mysql_fetch_object($sql)) {
echo "<tr>";
echo "<td>"  . $produto->nome. "</td>";
echo "<td>"  . $produto->cidade. "</td>";
echo "<td>"  . $produto->telefone. "</td>";
}
} else {
}
}}
echo "</tr></table>"; /*fecha a tabela apos termino de impressão das linhas*/
echo "</div>";
include("paginacao.php");
 
?>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual consulta deveria trazer os tres registros?

 

esta

$sql_conta = mysql_query("SELECT * FROM empresas");

 

ou esta???

$sql = mysql_query("SELECT * FROM empresas WHERE nome LIKE '%".$palavra."%' ORDER BY nome LIMIT $inicial, $numreg");

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.