§tRuTe® Postado Maio 7, 2004 Denunciar Share Postado Maio 7, 2004 então não é? ow...eu sei q vocês vai me xingar e tal.....mas tipo....eu já usei a busca...e já achei varios script de paginacao e tal...mas ta ligado, eu não entendi praticamente nada...só as partes de conexao com o BD......q é o q eu sei de cabeca aqui...só isso....hehe....tipo..se num for pedir demais.....tem jeito de alguém me eplicar +ou- como se faz uma paginacao ?sendo q eu já teno a conexao, e o while q distribui tudo de uma vez na pagina..vlw....falow!!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Maio 7, 2004 Denunciar Share Postado Maio 7, 2004 Claro que tem... A paginação no caso seria de dados vindos do Banco de dados? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 richenrique Postado Maio 8, 2004 Denunciar Share Postado Maio 8, 2004 também estou sobre o codigo de paginacao... gostaria de entender para poder desenvolver um... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Illidan Postado Maio 8, 2004 Denunciar Share Postado Maio 8, 2004 Bom, vou mostrar um sisteminha de paginação pra consultas em banco de dados:Primeiro, define a variável que conterá o registro inicial a ser mostrado (será uma query string):$begin = @$_GET['begin'];if (!$begin) { $begin = 0; }Depois pega o total de registros que serão exibidos:$query = "SELECT * FROM tabela";$resultado = mysql_query($query,$conexao);$total = mysql_num_rows($resultado);Estas linhas são opcionais, mas é legal colocar:Total de registros: <b><? echo $total; ?></b><br />Exibindo de <b><? echo $begin+1; ?></b> a <b><? echo $begin+10; ?></b>Exibe os resultados num intervalo que inicia na variável $begin + os próximos 10 registros:$query = "SELECT * FROM tabela ORDER BY data DESC LIMIT $begin,10";$resultado = mysql_query($query,$conexao);while ($linha = mysql_fetch_array($resultado)) { echo ... echo ... echo ...}E, por último, os botões "<< anteriores | próximos >>":if ($total != "0") { if (($begin > 0) and ($begin <= 10)) { $anteriores = '<a href="busca.php?begin=0"><b>Anteriores</b></a>'; } elseif (($begin > 0) and ($begin > 10)) { $anteriores = '<a href="busca.php?begin=' . ($begin-10) . '"><b>Anteriores</b></a>'; } else { $anteriores = '<b>Anteriores</b>'; } if (($begin < $total) and (($begin+10) >= $total)) { $proximas = '<b>Próximas</b>'; } else { $proximas = '<a href="busca.php?begin=' . ($begin+10) . '"><b>Próximas</b></a>'; } echo $anteriores . " | " . $proximas;}Falou! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Error404 Postado Maio 8, 2004 Denunciar Share Postado Maio 8, 2004 + códigos prontos...Bom...tentem enteder aí...Se quiserem uma explicação de como desenvolver um, me avisem... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 §tRuTe® Postado Maio 8, 2004 Autor Denunciar Share Postado Maio 8, 2004 hehe....eu aceito uma explicacao...eu axo q eu entendi ateh a parte do while....mas depois...mesmo não tendo muitas funcoes, na parte dos botoes, eu não entendi muito bem ow...........tem jeito de dar uma explicadinha?ah...só mais uma coisa....aqui na query$query = "SELECT * FROM tabela ORDER BY data DESC LIMIT $begin,10";se eu colocasseLIMIT 0,10";ele ia pegar apenas esse 11 registros? contando com o 0?ae se eu colocasse 20, 30 ele iria pegar os registros de 20 a 30 apenas?vlw....falow!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 taudujas Postado Julho 9, 2004 Denunciar Share Postado Julho 9, 2004 Valeu Illidan. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 taudujas Postado Julho 9, 2004 Denunciar Share Postado Julho 9, 2004 Po ta dando erro olha como deixei ele:<?$sql = mysql_connect("localhost", "root", "");$bd = "classificados";$conexao = mysql_select_db ($bd, $sql);$begin = @$_GET['begin'];if (!$begin) { $begin = 0; }$query = "SELECT * FROM dados";$resultado = mysql_query($query,$sql);$total = mysql_num_rows($resultado);echo "Total de registros: <b><? echo $total; ?></b><br />";echo "Exibindo de <b><? echo $begin+1; ?></b> a <b><? echo $begin+10; ?></b>";$query = "SELECT * FROM tabela ORDER BY data DESC LIMIT $begin,10";$resultado = mysql_query($query,$sql);while ($linha = mysql_fetch_array($resultado)) {}if ($total != "0") { if (($begin > 0) and ($begin <= 10)) { $anteriores = '<a href="busca.php?begin=0"><b>Anteriores</b></a>'; } elseif (($begin > 0) and ($begin > 10)) { $anteriores = '<a href="classificados.php?begin=' . ($begin-10) . '"><b>Anteriores</b></a>'; } else { $anteriores = '<b>Anteriores</b>'; } if (($begin < $total) and (($begin+10) >= $total)) { $proximas = '<b>Próximas</b>'; } else { $proximas = '<a href="classificados.php?begin=' . ($begin+10) . '"><b>Próximas</b></a>'; } echo $anteriores . " | " . $proximas;}?>ERRO: Total de registros: Exibindo de a Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\root\classficados\pagina.php on line 15Anteriores | Próximaso que fazer? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Illidan Postado Julho 9, 2004 Denunciar Share Postado Julho 9, 2004 É que o nome da sua tabela no db é "dados", não "tabela":$query = "SELECT * FROM dados ORDER BY data DESC LIMIT $begin,10";Abraços! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rEd nEcK * Postado Julho 9, 2004 Denunciar Share Postado Julho 9, 2004 tipow legal,mais error se voce puder passar a explicao de como fazer 1 para complementar tudo !valeu[]´s Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 taudujas Postado Julho 9, 2004 Denunciar Share Postado Julho 9, 2004 olha ai$sql = mysql_connect("localhost", "root", "");$bd = "classificados";$conexao = mysql_select_db ($bd, $sql);$begin = @$_GET['begin'];if (!$begin) { $begin = 0; }$query = "SELECT * FROM dados";$resultado = mysql_query($query,$sql);$total = mysql_num_rows($resultado);"Total de registros: <b><? echo $total; ?></b><br />";"Exibindo de <b><? echo $begin+1; ?></b> a <b><? echo $begin+10; ?></b>";$query = "SELECT * FROM dados ORDER BY data DESC LIMIT $begin,10";$resultado = mysql_query($query,$sql);while ($linha = mysql_fetch_array($resultado)) {}if ($total != "0") { if (($begin > 0) and ($begin <= 10)) { $anteriores = '<a href="classificados.php?begin=0"><b>Anteriores</b></a>'; } elseif (($begin > 0) and ($begin > 10)) { $anteriores = '<a href="classificados.php?begin=' . ($begin-10) . '"><b>Anteriores</b></a>'; } else { $anteriores = '<b>Anteriores</b>'; } if (($begin < $total) and (($begin+10) >= $total)) { $proximas = '<b>Próximas</b>'; } else { $proximas = '<a href="classificados.php?begin=' . ($begin+10) . '"><b>Próximas</b></a>'; } echo $anteriores . " | " . $proximas;}Erro: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\root\classficados\classificados.php on line 70Valeu. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Illidan Postado Julho 9, 2004 Denunciar Share Postado Julho 9, 2004 Como está essa tabela "dados"??? Ela tem esse campo "data" que você tá tentando selecionar? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 taudujas Postado Julho 9, 2004 Denunciar Share Postado Julho 9, 2004 não tem campo data não, onde mudo este campo? não achei a linha. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Illidan Postado Julho 9, 2004 Denunciar Share Postado Julho 9, 2004 Aqui:$query = "SELECT * FROM dados ORDER BY data DESC LIMIT $begin,10";Ele tá ordenando pelo campo "data", entendeu? você tem que adaptar o script para o que você quer...Falou! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 taudujas Postado Julho 9, 2004 Denunciar Share Postado Julho 9, 2004 Entendi, belezaObrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 taudujas Postado Julho 9, 2004 Denunciar Share Postado Julho 9, 2004 Deu certo, porem não estao com links as palavras,o que sera? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 taudujas Postado Julho 9, 2004 Denunciar Share Postado Julho 9, 2004 Não teria que mudar isso?$begin = @$_GET['begin'];Pelo que muda? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Illidan Postado Julho 9, 2004 Denunciar Share Postado Julho 9, 2004 Acho que isso tá certo... não precisa mudar. você deixou em branco aquele comando "while" ??while ($linha = mysql_fetch_array($resultado)) {}É dentro dele que você vai imprimir os dados que recuperar do banco de dados. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 taudujas Postado Julho 9, 2004 Denunciar Share Postado Julho 9, 2004 Certo, então tenho que colocar os mesmos dados que uso na tabela acima é isso mesmo? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Illidan Postado Julho 9, 2004 Denunciar Share Postado Julho 9, 2004 você vai chamar os dados pelo nome dos campos, entendeu?Supondo que você tenha os campos "nome", "sobrenome" e "idade":while ($linha = mysql_fetch_array($resultado)) { echo "Nome: " . $linha['nome'] . "<br />"; echo "Sobrenome: " . $linha['sobrenome'] . "<br />"; echo "Idade: " . $linha['idade'] . "<br />";}Entendeu? Ele vai imprimir os registros do banco com paginação de 10...Falou! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 taudujas Postado Julho 9, 2004 Denunciar Share Postado Julho 9, 2004 Entendi, agora ficou assim meu script:<?/* Este script foi desenvolvido por:Tulio Ricardo P. AudujasMSN: suporte@navegahost.com.bricq: 179719912site: www.navegahost.com.brPor Favor mantenha os direitos autorais.*/echo"<table width=500 cellspacing=1 cellpadding=2 align=center bgcolor=#BBBBBB><tr align=\"center\" valign=\"middle\"><td bgcolor=#DDDDDD colspan=\"4\"><font face=verdana size=2><b>Lista de Anuncios</b></font></td></tr><tr><td bgcolor=#DDDDDD><b><font face=verdana size=1>Marca</td><td bgcolor=#DDDDDD><b><font face=verdana size=1>Modelo</td><td bgcolor=#DDDDDD><b><font face=verdana size=1>Ano</td><td bgcolor=#DDDDDD><b><font face=verdana size=1>UF</td></b></tr>";include "config.php";$begin = @$_GET['begin'];if (!$begin) { $begin = 0; }$result = mysql_query ("SELECT * FROM dados ORDER BY marca ASC");$total = mysql_num_rows($result);"Total de registros: <b><? echo $total; ?></b><br />";"Exibindo de <b><? echo $begin+1; ?></b> a <b><? echo $begin+10; ?></b>";while ($row = mysql_fetch_array($result)){$id = $row["id"];$modelo = $row["modelo"];$nome = $row["nome"];$marca = $row["marca"];$ano = $row["ano"];$uf = $row["uf"]; echo" <tr> <td bgcolor=EEEEEE><font face=verdana size=1> $marca</td> <td bgcolor=EEEEEE><font face=verdana size=1> <a href=ver.php?id=$id>$modelo</a></td> <td bgcolor=EEEEEE><font face=verdana size=1> $ano</td> <td bgcolor=EEEEEE><font face=verdana size=1> $uf </tr>";} if ($total != "0") { if (($begin > 0) and ($begin <= 10)) { $anteriores = '<a href="classificados.php?begin=0"><b>Anteriores</b></a>'; } elseif (($begin > 0) and ($begin > 10)) { $anteriores = '<a href="classificados.php?begin=' . ($begin-10) . '"><b>Anteriores</b></a>'; } else { $anteriores = '<b>Anteriores</b>'; } if (($begin < $total) and (($begin+10) >= $total)) { $proximas = '<b>Próximas</b>'; } else { $proximas = '<a href="classificados.php?begin=' . ($begin+10) . '"><b>Próximas</b></a>'; } echo $anteriores . " | " . $proximas;} echo "</table><br><br><br><br><center><font face=verdana size=2><a href=anunciar.php>Incluir Novo Cadastro</a></center>"; ?>não deu erro nenhum, porem esta sem link as palavras anterior e proximo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Illidan Postado Julho 9, 2004 Denunciar Share Postado Julho 9, 2004 Quantos registros tem no banco de dados? você precisa ter no mínimo 10 pra ele criar o link...Falou! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 taudujas Postado Julho 9, 2004 Denunciar Share Postado Julho 9, 2004 Ah Illidan , tenho menos que isso, então ta explicado, mas vou alterar para 4 paginas.Valeu. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 taudujas Postado Julho 9, 2004 Denunciar Share Postado Julho 9, 2004 Mudei para 4 registros, porem ele não exibi os proximos 4 fica a mesma coisa na tela, mas o begin ele muda o numero em cima no bronwser so não exibi. o que pode ser? <?/* Este script foi desenvolvido por:Tulio Ricardo P. AudujasMSN: suporte@navegahost.com.bricq: 179719912site: www.navegahost.com.brPor Favor mantenha os direitos autorais.*/echo"<table width=500 cellspacing=1 cellpadding=2 align=center bgcolor=#BBBBBB><tr align=\"center\" valign=\"middle\"><td bgcolor=#DDDDDD colspan=\"4\"><font face=verdana size=2><b>Lista de Anuncios</b></font></td></tr><tr><td bgcolor=#DDDDDD><b><font face=verdana size=1>Marca</td><td bgcolor=#DDDDDD><b><font face=verdana size=1>Modelo</td><td bgcolor=#DDDDDD><b><font face=verdana size=1>Ano</td><td bgcolor=#DDDDDD><b><font face=verdana size=1>UF</td></b></tr>";include "config.php";$begin = @$_GET['begin'];if (!$begin) { $begin = 0; }$result = mysql_query ("SELECT * FROM dados ORDER BY marca ASC");$total = mysql_num_rows($result);"Total de registros: <b><? echo $total; ?></b><br />";"Exibindo de <b><? echo $begin+1; ?></b> a <b><? echo $begin+4; ?></b>";while ($row = mysql_fetch_array($result)){$id = $row["id"];$modelo = $row["modelo"];$nome = $row["nome"];$marca = $row["marca"];$ano = $row["ano"];$uf = $row["uf"]; echo" <tr> <td bgcolor=EEEEEE><font face=verdana size=1> $marca</td> <td bgcolor=EEEEEE><font face=verdana size=1> <a href=ver.php?id=$id>$modelo</a></td> <td bgcolor=EEEEEE><font face=verdana size=1> $ano</td> <td bgcolor=EEEEEE><font face=verdana size=1> $uf </tr>";} if ($total != "0") { if (($begin > 0) and ($begin <= 4)) { $anteriores = '<a href="classificados.php?begin=0"><b>Anteriores</b></a>'; } elseif (($begin > 0) and ($begin > 4)) { $anteriores = '<a href="classificados.php?begin=' . ($begin-4) . '"><b>Anteriores</b></a>'; } else { $anteriores = '<b>Anteriores</b>'; } if (($begin < $total) and (($begin+4) >= $total)) { $proximas = '<b>Próximas</b>'; } else { $proximas = '<a href="classificados.php?begin=' . ($begin+4) . '"><b>Próximas</b></a>'; } echo $anteriores . " | " . $proximas;} echo "</table><br><br><br><br><center><font face=verdana size=2><a href=anunciar.php>Incluir Novo Cadastro</a></center>"; ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Illidan Postado Julho 9, 2004 Denunciar Share Postado Julho 9, 2004 include "config.php";$begin = @$_GET['begin'];if (!$begin) { $begin = 0; }$result = mysql_query ("SELECT * FROM dados ORDER BY marca ASC");$total = mysql_num_rows($result);"Total de registros: <b><? echo $total; ?></b><br />";"Exibindo de <b><? echo $begin+1; ?></b> a <b><? echo $begin+10; ?></b>";$result = mysql_query ("SELECT * FROM dados ORDER BY marca ASC LIMIT $begin, 10");while ($row = mysql_fetch_array($result)){ Túlio, você apagou uma linha que tinha antes... no primeiro select, você conta todos os registros... no segundo, você pega só o necessário pra exibir na página atual.Onde tá "10", é o número de resultados que serão exibidos por página.Falou! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 taudujas Postado Julho 9, 2004 Denunciar Share Postado Julho 9, 2004 VAleu Illidan já deu certo.Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
§tRuTe®
então não é? ow...eu sei q vocês vai me xingar e tal.....
mas tipo....
eu já usei a busca...e já achei varios script de paginacao e tal...
mas ta ligado, eu não entendi praticamente nada...só as partes de conexao com o BD......q é o q eu sei de cabeca aqui...só isso....hehe....
tipo..se num for pedir demais.....tem jeito de alguém me eplicar +ou- como se faz uma paginacao ?
sendo q eu já teno a conexao, e o while q distribui tudo de uma vez na pagina..
vlw....falow!!!!
Link para o comentário
Compartilhar em outros sites
25 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.