Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Preciso de ajuda pra eu fazer uma busca com paginacao. Sou um iniciante em php.
A minha busca exibe quantos registros foram encontrados, mostra vinte registros na primeira pagina, mas quando clico na pagina seguinte naoh mostra os outros resultados que faltavam. Por exemplo: encontra 32 resultados, exibe 25 na primeira pagina e na segunda naoh exibe os outros 7 que faltavam, dah erro. Alguem poderia me ajudar?
Os codigos sao o seguinte:
ESTE EH O FORM.
<form action="frame_busca_rapida_texto.php" method="POST" target="quadro_index_inicial" name="form_comborapida">
<!--onsubmit="return ValidarComboRapida(document.form_comborapida)"-->
<input type="text" size="22" name="busca_rapida" style="background-color:#F0FFF0;width:222px;height:25px;line-height:25px;
border:1px solid maroon;font-family:verdana;font-size:13px;color:#000000">
<div class="separador_do_combo"></div><div class="nome_combo" style="left:0px"><span style="padding-left:0px">Exibir:</span></div>
<select name="exibir" class="pesq_combo" style="position:absolute;width:110px;left:53px;">
<option value="tudo" selected="selected">Todos</option>
<option value="part">Particular</option>
<option value="rev">Revendedor</option>
</select>
<div class="separador_do_combo" style="height:40px;"></div><div class="nome_combo" style="left:-7;"><span style="padding-left:0px;font-size:11px;">Ordenar:</span></div>
<select name="ordem" class="pesq_combo" style="position:absolute;width:110px;left:53px;">
<option value="3" selected="selected">Por Data</option><option value="1">Menor preco</option>
<option value="2">Maior Preco</option>
</select>
<input class="avancada_ok" type="submit" name="rapida" value="OK" title="Buscar a Pesquisa"
style="position:absolute;cursor:hand;top:35px;left:170px;width:54px;height:64px;font-family:verdana;font-weight:bold;font-size:18px;"></a>
</div></div>
</form>
<?php
$conexao = mysql_connect("localhost","root","");
if (!$conexao){mysql_select_db("anuncios", $conexao);
?>
ESTE EH A PAGINA QUE EXIBE OS RESULTADOS.
<?php
//INICIO Paginação
$numreg = 25;
if (!isset($_GET['pg'])) {
$_GET['pg'] = 0;}
$inicial = $_GET['pg'] * $numreg;
if(isset($_POST["rapida"])){
$exibe = $_POST["exibir"];
if($exibe=="part"){if($exibe=="rev"){
$exibicao = "todos_anuncios.anun_tipo='R'";$anunciante = "(Revendedor)";
}
if($exibe=="tudo"){
$exibicao = "((todos_anuncios.anun_tipo='P') or (todos_anuncios.anun_tipo='R'))";$anunciante = " ";
}
?>
<?php
$ordenar = $_POST["ordem"];
if($ordenar=="1"){
$ordenacao = "todos_anuncios.preco ASC LIMIT";$ord = "(Ordenado por Menor Preço)";
}
if($ordenar=="2"){
$ordenacao = "todos_anuncios.preco DESC LIMIT";$ord = "(Ordenado por Maior Preço)";
}
if($ordenar=="3"){
$ordenacao = "todos_anuncios.data DESC LIMIT";$ord = "(Ordenado por Data)";
}
?>
<?php
$texto = $_POST['busca_rapida'];
if ($texto == ""){
echo "<script language=javascript>
alert(\" Digite alguma palavra para fazer a Busca Rapida!\");window.location='frame_inicial.php';</script> " ;$palavra = explode(" ", $texto);
$result = count($palavra);
}
if ($result == 1){$palavra1=$palavra[0];
$sql = mysql_query("SELECT * FROM todos_anuncios INNER JOIN fotos_todos_anuncios ON placa = img_placa WHERE
((modelo='$palavra1' or marca='$palavra1' or cor='$palavra1') AND ($exibicao)) order by $ordenacao $inicial, $numreg");
$sql_conta = mysql_query("SELECT * FROM todos_anuncios INNER JOIN fotos_todos_anuncios ON placa = img_placa WHERE
((modelo='$palavra1' or marca='$palavra1' or cor='$palavra1') AND ($exibicao))");
}
if ($result == 2){$palavra1=$palavra[0];$palavra2=$palavra[1];
$sql = mysql_query("SELECT * FROM todos_anuncios INNER JOIN fotos_todos_anuncios ON placa = img_placa WHEREorder by $ordenacao $inicial, $numreg");
$sql_conta = mysql_query("SELECT * FROM todos_anuncios INNER JOIN fotos_todos_anuncios ON placa = img_placa WHERE(ano='$palavra1' AND cor='$palavra2' AND $exibicao)");
}
if ($result == 3){$palavra1=$palavra[0];$palavra2=$palavra[1];$palavra3=$palavra[2];
$sql = mysql_query("SELECT * FROM todos_anuncios INNER JOIN fotos_todos_anuncios ON placa = img_placa WHEREorder by $ordenacao $inicial, $numreg");
$sql_conta = mysql_query("SELECT * FROM todos_anuncios INNER JOIN fotos_todos_anuncios ON placa = img_placa WHERE(marca='$palavra1' AND modelo='$palavra2' AND cor='$palavra3' AND $exibicao)");
}
$quantreg = mysql_num_rows($sql_conta);
if ($quantreg == 0) {
echo "<p style='position:absolute;left:100px;top:60px;font-family:arial;font-size:14px;color:navy;'>
<b><font color='red'>Nenhum resultado encontrado para a busca: <font size=4> $texto</font></font></b><br>
*Certique se a palavra foi digitada corretamente.<br>
*No caso de mais de uma palvra, deixe espaco entre elas.<br>
*Voce pode fazer sua busca digitando uma, duas ou tres palavras. Exemplos:<br>
<span style='padding-left:200px'>Fiat</span><br>
<span style='padding-left:180px'>Uno 2011</span><br>
<span style='padding-left:150px'>Uno 2011 vermelho</span><br>
*Talvez a sua busca pode ser melhor realizada na Busca Avancada ao lado.</p>";}Encontrados $quantreg anuncios <span style='font-size:12px;font-family:arial'>$anunciante</span> na busca: $texto. <span style='font-size:12px;font-family:arial'>
$ord.</span></div>";
}}
?>
<?php
include("paginacao_busca_rapida.php");if ($aux['anun_tipo']=='R'){
$frame="<a href='frame_revendedor.php?anun_id=".$aux['anun_id']."' title='Ver mais anuncios desta revendedora'>";?>
<?php
echo "<div style='float:left;width:148px;height:252px;margin-top:8px;'>";
?>
<a href="slide_busca_rapida_texto.php?anun_id=<?php echo $aux['anun_id'] ?>" class="foto_resultado1 classe81">
<img src="fotos/<?php echo $aux['img1'] ?>" style="position:absolute;width:120px;height:90px;border:0px" title="Ver mais Detalhes"></a>
<?php
echo "<div class='logo_resultado1' style='border:1px solid gray'>$frame<img src='".$aux['anunciante_imagem']."'
style='width:90px;height:50px;border:0px'></a></div>
<a href='slide_busca_rapida_texto.php?anun_id=".$aux['anun_id']."'><div class='classe2 texto_resultado1' title='Ver mais Detalhes'>
<b><font color=#000000> ".$aux['marca']."</font></b><br>".$aux['modelo']." ".$aux['tipo_modelo']."<br>
".$aux['combustivel']."<br>".$aux['cor']." ".$aux['ano']."</a><div class='preco_resultado1'><b>R$ ".number_format($aux['preco'],2,",",".")."</b></div>
<img src='images/linha_busca.png' style='position:absolute;top:-98px;left:142px'>
</div>";
?>
<?php
echo "</div>";
}
mysql_close($conexao);
?>
</div>
ESTA EH OS CODIGOS DA PAGINACAO.
<?php
$quant_pg = ceil($quantreg/$numreg);
$quant_pg++;
// Verifica se esta na primeira página, se nao estiver ele libera o link para anterior
if ( $_GET['pg'] > 0) {
echo "<a href=".$_SERVER['PHP_SELF']."?pg=".($_GET['pg']-1)."class=pg><b>« anterior</b></a>";echo "<font color=#CCCCCC>« anterior</font>";
}if ($_GET['pg'] == ($i_pg-1)) {
echo " <span class=pgoff>[$i_pg]</span> ";$i_pg2 = $i_pg-1;
echo " <a href=".$_SERVER['PHP_SELF']."?pg=$i_pg2 class=pg><b>$i_pg</b></a> ";
}
}if (($_GET['pg']+2) < $quant_pg) {
echo "<a href=".$_SERVER['PHP_SELF']."?pg=".($_GET['pg']+1)." class=pg><b>próximo »</b></a>";
} else {
echo "<font color=#CCCCCC>próximo »</font>";
}Carregando comentários...