Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Oi pessoal... novamente eu to "num mato sem coelho".
Preciso fazer uma paginação de uma pagina de busca, eu já tentei um milhão de código, mas não está dando certo.
Se alguém puder me ajudar...
O código que resulta a busca é o seguinte:
--------- buscado.php ---------
<?php
include ("includes/conexao.php");
$search = $_POST['search'];
if (empty($search)){
echo "Voce nao preencheu os campos da busca";
}
else{
global $search;
$sql=mysql_query("SELECT * FROM servicos WHERE busca LIKE '%$search%' AND publicar='1' ORDER BY valor DESC");
$linhas=@mysql_num_rows($sql);
}
$linhas=@mysql_num_rows($sql);
if ($linhas==0){
echo "<br><br><br><br><br><br><br><br><br><br><br><br><center><font face='arial' color='#8CAC0B' style='font-size: 14pt'>Não existe nada com o argumento pesquisado!</center>
<script language='javascript'>alert('Não existe nada com o argumento pesquisado!');history.go(-1);</script>";
}
?>
<?
if ($linhas >=1){
while ($coluna = mysql_fetch_array($sql)){
$id = $coluna["id"];
$publicar = $coluna["publicar"];
$valor = $coluna["valor"];
$prazo = $coluna["prazo"];
$login = $coluna["login"];
$titulo = $coluna["titulo"];
$servico = $coluna["servico"];
$cidade = $coluna["cidade"];
$coduser = $coluna["coduser"];
$limit=35;
$titulo = substr($titulo, 0,$limit);
?>
----------------------------------------
Até que eu tenho outras páginas com paginação, mas PARA ADERIR A ESTA AQUI TÁ MUITO COMPLICADO.
Nada que eu tentei deu certo! Se alguém puder me dar um help...
MUITO OBRIGADO!
FIZ ASSIM...
-----------------------------------------------------
BUSCA DADOS:
<?php
include ("includes/conexao.php");
$search = $_POST['search'];
if (empty($search)){
echo "Voce nao preencheu os campos da busca";
}
else{
global $search;
$total_reg = "5"; // número de registros por página
if (!$pagina) {
$pc = "1";
} else {
$pc = $pagina;
}
$inicio = $pc - 1;
$inicial = $inicio * $total_reg;
$limite = mysql_query("SELECT * FROM servicos LIMIT $inicial, $total_reg");
$busca = mysql_query("SELECT * FROM servicos WHERE busca OR titulo LIKE '%$search%' AND publicar='1' ORDER BY valor DESC");
$linhas=@mysql_num_rows($busca);
}
$linhas=@mysql_num_rows($busca);
if ($linhas==0){
echo "<br><br><br><br><br><br><br><br><br><br><br><br><center><font face='arial' color='#8CAC0B' style='font-size: 14pt'>
Nenhum resultado foi encontrado para a palavra $search!
<br><font face='arial' color='#000000' style='font-size: 10pt'>Redirecionando...
</center>
<script language='javascript'>alert('Nenhum resultado foi encontrado para a palavra $search!');history.go(-1);</script>";
}
$todos = mysql_query("$busca");
$tr = mysql_num_rows($todos); // verifica o número total de registros
$tp = $tr / $total_reg; // verifica o número total de páginas
$total_reg = mysql_num_rows($busca);
if ($linhas >=1){
while ($coluna = mysql_fetch_array($limite)){
$id = $coluna["id"];
$publicar = $coluna["publicar"];
$valor = $coluna["valor"];
$prazo = $coluna["prazo"];
$login = $coluna["login"];
$titulo = $coluna["titulo"];
$servico = $coluna["servico"];
$cidade = $coluna["cidade"];
$coduser = $coluna["coduser"];
$limit=47;
$titulo = substr($titulo, 0,$limit);
?>
PAGINAÇÃO:
<?
// agora vamos criar os botões "Anterior e próximo"
$intervalo = 5;
$anterior = $pc -1;
$proximo = $pc +1;
$flag1 = floor($pc/$intervalo);
$pi = ($flag1 * $intervalo );
$pf = $pi + $intervalo;
echo "<div id='nave' align='center'>";
if ($pc > 1) {
echo "<a href='?pagina=$anterior' class='categoria' target='_self'><font face='Arial' style='font-size: 9pt'>« Anterior</a> ";
}else{
echo "<font face='Arial' style='font-size: 9pt' style='color: #FFFFFF'>« Anterior </font>";
}
if ($pc > 1) {
echo "<font class='preto'>|</font>";
}else{
echo "";
}
for ($pi; $pi < $pf; $pi++) {
// Se número da página for menor que total de páginas
if ($pi <= $tp) {
if ($pc == $pi) {
// se página atual for igual a página selecionada
if ($pi > "0") {
echo "<font face='Arial' style='font-size: 9pt'><b class='preto'>" . $pi . "</b> ";
}
} else {
// se for diferente, aparece o link para a página
if ($pi > "0") {
echo "<a href='?pagina=" . $pi . "' class='preto' target='_self'><font face='Arial' style='font-size: 9pt'>" . $pi . "</a> ";
}
}
}
}
if ($pc < $tp) {
echo "<font class='preto'>|</font>";
}else{
echo "";
}
if ($pc < $tp) {
echo " <a href='?pagina=$proximo' class='categoria' target='_self'><font face='Arial' style='font-size: 9pt'>Próxima »</a>";
}else{
echo " <font class='categoria' style='color: #FFFFFF'><font face='Arial' style='font-size: 9pt'>Próxima »</font>";
}
echo "</div>";
// e para finalizar, fechamos a conexão com servidor MySQL
mysql_close($conn);
?>
-------------------------------------------
O PROBLEMA AGORA É QUE:
FAÇO UMA BUSCA E MOSTRA "Encontrado(s) 7 resultado(s) da pesquisa por teste"
ENCONTRA 7, LISTANDO 5 ITENS E NÃO APARECE NADA NO FINAL DA PÁGINA (SOMENTE O ANTERIOR E PRÓXIMO invisíveis)
FUSEI DEMAIS, E ATÉ CONSIGO QUE APAREÇA: "Anterior [1] Próximo", MAS NÃO VAI PARA PÁGINA NENHUM E ABRE UMA
PÁGINA QUE NÃO EXISTE!
------------------------------------------
Alguém pode ajudar?
Desde já agradeço!
Amigo, dê uma olhada no seguinte código :seta: http://code.imasters.com.br/index.php?/topic/250-paginacao-de-resultados/
Veja se lhe interessa.
O problema maior é que na busca tem:
---
$search = $_POST['search'];
if (empty($search)){
else{
---
Sem isso não tem busca e sem busca não tem dados!
O que tá f... é que o script para paginação depente deste código inicial!