Vinicius Ianni 189 Denunciar post Postado Dezembro 20, 2011 Bom, estou quebrando a cabeça aqui com um detalhe que está me escapando e não consigo resolver: Testando alguns codigos, peguei o exemplo de paginação em php abaixo que funciona perfeitamente, o porém é que exibe o resultado da paginação ao lado da primeira coluna de resultados, e não no final da página como é esperado. Imagino que seja algo relativo ao css, mas não identifico onde pode estar o problema: código php: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <title>Projeto Criador</title> <link rel="stylesheet" type="text/css" href="main.css" /> </head> <body> <div id="tudo"> <?php echo "<div id='wrapper'><div id='header'>"; include ('topo.php'); echo "</div><div id='faux'>"; echo "<div id='leftcolumn'></div>"; echo "<div id='content'>"; echo "<div id='produtos'>"; defined('DSN') or define('DSN', 'mysql:host=localhost;dbname=testes'); defined('USUARIO') or define('USUARIO', 'user'); defined('SENHA') or define('SENHA', '1234'); class Paginacao_PDO { public $paginador = 'pag'; private $solicitador; public $sql; public $limite = 15; public $quantidade = 5; public function __construct() { $this->solicitador = $_REQUEST["{$this->paginador}"]; } private function conexao() { $conexao = new Conexao(); $con = $conexao->conexao; return $con; } public function resultado() { $this->resultado = $this->conexao()->query(str_replace('*', 'COUNT(*)', $this->sql)); $this->numeroResultados = $this->resultado->fetchColumn(); return $this->numeroResultados; } public function paginasTotais() { $paginasTotais = ceil($this->resultado() / $this->limite); return $paginasTotais; } public function paginaAtual() { if (isset($this->solicitador) && is_numeric($this->solicitador)) { $this->paginaAtual = (int) $this->solicitador; } else { $this->paginaAtual = 1; } if ($this->paginaAtual > $this->paginasTotais()) { $this->paginaAtual = $this->paginasTotais(); } if ($this->paginaAtual < 1) { $this->paginaAtual = 1; } return $this->paginaAtual; } private function offset() { $offset = ($this->paginaAtual() - 1) * $this->limite; return $offset; } public function sql() { $sql = $this->sql . " LIMIT {$this->limite} OFFSET {$this->offset()} "; return $sql; } public function imprimeBarraNavegacao() { if($this->resultado() > 0) { if ($this->paginaAtual() > 1) { echo " <a href='?" . $this->paginador . "=1". $this->reconstruiQueryString($this->paginador) . "'>Primeira</a> "; $anterior = $this->paginaAtual() - 1; echo " <a href='?" . $this->paginador . "=" . $anterior .$this->reconstruiQueryString($this->paginador) . "'>Anterior</a> "; } for ($x = ($this->paginaAtual() - $this->quantidade); $x < (($this->paginaAtual() + $this->quantidade) + 1); $x++) { if (($x > 0) && ($x <= $this->paginasTotais())) { if ($x == $this->paginaAtual()) { echo " [<b>$x</b>] "; } else { echo " <a href='?" . $this->paginador . "=" . $x . $this->reconstruiQueryString($this->paginador) . "'>$x</a> "; } } } if ($this->paginaAtual() != $this->paginasTotais()) { $paginaProxima = $this->paginaAtual() + 1; echo " <a href='?" . $this->paginador . "=" . $paginaProxima . $this->reconstruiQueryString($this->paginador) . "'>Próxima</a> "; echo " <a href='?" . $this->paginador . "=" . $this->paginasTotais() . $this->reconstruiQueryString($this->paginador) . "'>Última</a> "; } } } public function reconstruiQueryString($valoresQueryString) { if (!empty($_SERVER['QUERY_STRING'])) { $partes = explode("&", $_SERVER['QUERY_STRING']); $novasPartes = array(); foreach ($partes as $val) { if (stristr($val, $valoresQueryString) == false) { array_push($novasPartes, $val); } } if (count($novasPartes) != 0) { $queryString = "&".implode("&", $novasPartes); } else { return false; } return $queryString; // nova string criada } else { return false; } } } class Conexao { private $_usuario; private $_senha; private $_dsn; public function __construct() { $this->defineUsuario(USUARIO); $this->defineSenha(SENHA); $this->defineDSN(DSN); $this->abreConexao(); } public function defineUsuario($usuario) { $this->_usuario = $usuario; } public function defineSenha($senha) { $this->_senha = $senha; } public function defineDSN($dns) { $this->_dsn = $dns; } public function abreConexao() { $this->conexao = new PDO($this->_dsn, $this->_usuario, $this->_senha); $this->conexao->query("SET NAMES utf8"); } public function fechaConexao() { $this->_conexao = null; } } $conexao = new Conexao(); $conexao = $conexao->conexao; $paginacao = new Paginacao_PDO(); $paginacao->sql = "select * from produtos"; //$paginacao->imprimeBarraResultados(); $res = $conexao->query($paginacao->sql()); while($r = $res->fetch(PDO::FETCH_OBJ)) { print "<div class='cproduto'>"; print "<center><b><a href='detalhe.php?id=".$r->id. "'><img src='imagens/".$r->imgmini."' border=0 width='50%' height='50%'><br>" .$r->nome ."</a></b><br/>".substr($r->descricao, 0, 50)."...</br>"; print "R$ ".$r->precovenda." <a href='#'><img src='carrinho.png' alt='Adicionar ao carrinho' border='0'></a></center></div><p>"; } echo "</div>"; $paginacao->imprimeBarraNavegacao(); //echo "</div><div id='rightcolumn'>"; //include ('modulodir.php'); //echo "</div>"; echo "</div><div id='footer'>"; include ('rodape.php'); echo "</div>"; ?> </div> </body> e o css: { padding: 0; margin: 0; } body { font-family: Arial, Helvetica, sans-serif; font-size: 13px; } #wrapper { margin: 0 auto; width: 922px; } #faux { margin-bottom: 0px; overflow: auto; width: 100% } #header { /*color: #FFC;*/ width: 902px; padding: 10px; height: auto; margin: 0px 0px 0px 0px; background: #FFF; float: center; } #leftcolumn { display: inline; /*color: #333;*/ margin: 10px; padding: 0px; width: 195px; height: auto; float: left; } #content { float: left; /*color: #333;*/ margin: 10px 13px; padding: 0px; width: 510px; height: auto; display: inline; position: relative; } #rightcolumn { display: inline; position: relative; /*color: #333;*/ margin: 10px 10px 10px 0px; padding: 0px; width: 195px; height: auto; float: right; } #footer { width: 902px; clear: both; /*color: #333;*/ background: #FFF; margin: 0px 0px 0px 0px; padding: 10px; } .clear { clear: both; background: none; } #menu ul { padding:0px; margin:5px; width: 100%; background-color:#FFF; list-style:none; } #menu ul li { display: inline; } #menu ul li a { padding: 2px 5px; /*float:center;*/ /* visual do link */ background-color:#F93; color: #030; text-decoration: none; border-bottom:3px solid #F60; } #menu ul li a:hover { background-color:#030; color: #FFF; border-bottom:3px solid #090; } .rodape { font-size: 10px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: normal; padding: 3px; color: #CCC; } #produtos { display: block; width: 100%; } .cproduto { display: block; Float : Left; width: 150px; height: 220px; } imagem de como fica: Compartilhar este post Link para o post Compartilhar em outros sites
Diéssica 140 Denunciar post Postado Dezembro 21, 2011 você tem esse código limpo? Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Dezembro 21, 2011 desculpe, mas não entendi oq isso tem a ver com Faux Columns. aplique um clear: both na tua paginação. Compartilhar este post Link para o post Compartilhar em outros sites