alanrg.83 0 Denunciar post Postado Abril 4, 2007 Bom estou usando um script do Fabyo que pequei aqui mesmo Paginação PHP<?mysql_connect("localhost");mysql_select_db("banco");$re = mysql_query("SELECT count(*) as total FROM tabela");$total = mysql_result($re, 0, "total");$pagina = 0;if(isset($_GET["pagina"])) {$pagina = $_GET["pagina"];}$limite = 10;$paginas = ceil($total / $limite);$inicio = $pagina * $limite; $sql = mysql_query("SELECT * FROM tabela LIMIT $inicio, $limite"); $conta = mysql_num_rows($sql);while($l = mysql_fetch_array($sql)) {$nome = $l["nome"];echo $nome."<br>";}if($pagina > 0) {$menos = $pagina - 1;$url = $_SERVER["PHP_SELF"]."?pagina=".$menos;echo "<a href=\"$url\">Anterior</a>"; }for($i = 1;$i < $paginas; $i++) { $url = $_SERVER["PHP_SELF"]."?pagina=".$i;echo " | <a href=\"$url\">$i</a>";}if($pagina < $paginas) {$mais = $pagina + 1;$url = $_SERVER["PHP_SELF"]."?pagina=".$mais;echo " | <a href=\"$url\">Próxima</a>";}?> Mas meu problem esta no seguinte, nao sao todas as linhas da tabela que preciso, mas só as que um campo x tiver um determinado valor. Quando coloco uma condição where neste codigo ele para de funcionar. è possivel colocar uma condição, ou para este tipo de paginação terai que ter uma tabela para cada valor de x? E este campo x caso possa usar o where ele tem que ser uma chave? Compartilhar este post Link para o post Compartilhar em outros sites
crucifier 0 Denunciar post Postado Abril 4, 2007 voce usou where nas duas sqls?assim?:$re = mysql_query("SELECT count(*) as total FROM tabela WHERE campo = 'x'");$sql = mysql_query("SELECT * FROM tabela WHERE campo = 'x' LIMIT $inicio, $limite"); caso tenha usado assim, da um echo mysql_error(); para saber o erro que retorna...e o campo não precisa ser uma chave não! Compartilhar este post Link para o post Compartilhar em outros sites
alanrg.83 0 Denunciar post Postado Abril 5, 2007 Sem o where funciona mas com ele não!!!Ele mostra o primiro registro depois nao mostra mais nenhum. meu codigo esta assim: produtos.php <?php include("conexao.php");mysql_connect($hot,$login,$senha)or die ("Nao conctou");mysql_select_db($banco);$var=$_GET["var"];$re = mysql_query("SELECT count(*) as total FROM camisetas WHERE categoria = '$var'");$total = mysql_result($re, 0, "total");$pagina = 0;if(isset($_GET["pagina"])) {$pagina = $_GET["pagina"];}$limite = 1;$paginas = ceil($total / $limite);$inicio = $pagina * $limite; $sql = mysql_query("SELECT * FROM camisetas WHERE categoria = '$var' LIMIT $inicio, $limite"); $conta = mysql_num_rows($sql);while($l = mysql_fetch_array($sql)) {$id = $l["ID"];$titulo = $l["titulo"];$tema = $l["tema"];$autor = $l["autor"];$imagen = $l["imagen"];$estilo = $l["estilo"];}?> o link que cahma a pagina esta assim <a href="produtos.php?var=universitaria"> Compartilhar este post Link para o post Compartilhar em outros sites
alanrg.83 0 Denunciar post Postado Abril 20, 2007 deem uma olhada nesta parte do script if($pagina > 0) {$menos = $pagina - 1;$url = $_SERVER["PHP_SELF"]."?pagina=".$menos; //DUVIDA AQUIecho "<a href=\"$url\">Anterior</a>"; }for($i = 1;$i < $paginas; $i++) { $url = $_SERVER["PHP_SELF"]."?pagina=".$i;echo " | <a href=\"$url\">$i</a>";}if($pagina < $paginas) {$mais = $pagina + 1;$url = $_SERVER["PHP_SELF"]."?pagina=".$mais;echo " | <a href=\"$url\">Próxima</a>";} Com estou paginando apneas algumas linhas de minha tabela eu coloquei um WHERE no SELECT $re = mysql_query("SELECT count(*) as total FROM estampas WHERE categoria= $x"); pra atribuir um valor a $x eu uso $x=$_GET['var']; este 'var' esta vindo la do index, quando o usuário escolheu a opção de paginação. O problema é que quando dou um $url = $_SERVER["PHP_SELF"]."?pagina=".$menos; nao estou passando novamente o var, aqula condição que o usuário atribuiu está se perdendo por isso nao estava funcionando! Como coloco nos liks de proximo e anterior mais esta condiçao? Compartilhar este post Link para o post Compartilhar em outros sites
David Ramires 1 Denunciar post Postado Abril 20, 2007 você está perdendo o valor de $x, quando usar anterior ou próximo.. tenta assim.. $url = $_SERVER["PHP_SELF"]."?pagina=".$menos."&var=".$x;é isso mesmo ? Compartilhar este post Link para o post Compartilhar em outros sites
alanrg.83 0 Denunciar post Postado Abril 20, 2007 cara é isso mesmo valeu! ta funcionando redondinho!! Compartilhar este post Link para o post Compartilhar em outros sites
alanrg.83 0 Denunciar post Postado Abril 23, 2007 Gente só mais uma duvida aqui neste código.Como posso fazer para que se eu escolha um item da tabela ele me apresente este item primeiro e pagine o restante dos registros?Tipo ele começar a paginação nao pelo primeiro mas sim pelo que escolhi, o problema é que nao sei em que linha este elemento esta ei vou ter que verificar primeiro como faço isso? Compartilhar este post Link para o post Compartilhar em outros sites