como fazer paginação e apresentar em 3 colunas?
pessoal estou precisando de ajuda aqui no meu codigo e programo a pouco tempo e qeria saber como é q eu faço.
abaixo vai o codigo q eu fiz só o problema é que ele lista só em uma coluna.
abaixo vai o codigo q eu fiz só o problema é que ele lista só em uma coluna.
<?php include("titulo.php"); ?> <p> </p> <?php include("conecta.php"); $codigo=$_GET["cod"]; if(isset($_GET["pag"])) $pag=$$_GET["pag"]; else if(!isset($pag)) $pag=1; $quant=10; $inicio=($pag *$quant)-$quant; $sql="select * from produtos where cod_grupo = $codigo order by descricão limit $inicio,$quant"; $dados = mysql_query($sql); echo" <table width=60%>"; //Percorre todas as linhas retornadas na consulta while($linha = mysql_fetch_array($dados)) { $codigo = $linha["codigo"]; $descricao = $linha["descricao"]; $preco = $linha["preco"]; //pega as fotos gravadas com o numero de registro da pasta fotos $foto = "fotos/".$codigo.".jpg"; echo" <tr> <td><img src=$foto width=70 heigth=95></td> <tr/> <tr> <td>$descricao-R$$preco</td> </tr>"; } echo"</table>"; $sql2 = "select codigo from produtos"; $dados2 = mysql_query($sql2); $total = mysql_num_rows($dados); //ceil:arredonda para cima $paginas = ceil($total/$quant); for($i = 1,$i<=$paginas;$i++){ if ($i == $pag){ echo"[i] "; } else{ echo "<a href='pesquisa2.php?pag=$i&cod=$cod_grupo'>"; echo "$i</a>&nsbp;&nsbp;&nsbp;"; //fecha a conexão mysql_close($conecta); ?> </select> </form> </fielset> </div> </body> </html>
comentários (0)
suspender
Lista de Respostas:
26/07/2010 9:45pm
(~14 anos atrás)
(~14 anos atrás)
Alessandro, seu código está com alguns problemas:
#1 A indentação está atrapalhada. Sugiro que use abre/fecha chaves nas instruções condicionais ou de repetição.
#2 A linha a segir tem um cifrão ($) sobrando:
Deveria ser:
#3 A linha a seguir está com "," no lugar do ";":
Deveria ser:
Além disso, o "for" não teve sua chave fechada.
#4 Aparentemente o código abaixo devia usar $dados2 ao invés de $dados:
Mudança:
Enfim, o código precisa de uma boa ajeitada:
Veja que tem muitas coisas que podem ser feitas de outra forma
#1 A indentação está atrapalhada. Sugiro que use abre/fecha chaves nas instruções condicionais ou de repetição.
#2 A linha a segir tem um cifrão ($) sobrando:
$pag=$$_GET["pag"];
$pag = $_GET['pag'];
#3 A linha a seguir está com "," no lugar do ";":
for($i = 1,$i<=$paginas;$i++){
for ($i = 1; $i <= $paginas; $i++) {
Além disso, o "for" não teve sua chave fechada.
#4 Aparentemente o código abaixo devia usar $dados2 ao invés de $dados:
$dados2 = mysql_query($sql2); $total = mysql_num_rows($dados);
$dados2 = mysql_query($sql2); $total = mysql_num_rows($dados2);
Enfim, o código precisa de uma boa ajeitada:
<?php include("titulo.php"); include("conecta.php"); // Configuracoes $itens_pagina = 10; // Obtendo o codigo do grupo e a pagina corrente $cod_grupo = (int)$_GET['cod']; $pagina = isset($_GET['pag']) ? (int)$_GET['pag'] : 1; // Obter total de produtos e total de paginas $sql = 'SELECT COUNT(*) AS total FROM produtos WHERE cod_grupo = {$cod_grupo}'; $result = mysql_query($sql_total); $obj = mysql_fetch_object($result); $total_produtos = $obj->total; mysql_free_result($result); unset($sql, $result, $obj); $total_paginas = ceil($total_produtos / $itens_pagina); // Obter os produtos $inicio = ($pagina * $itens_pagina) - $itens_pagina; $sql = "SELECT * FROM produtos WHERE cod_grupo = {$codigo} ORDER BY descricão LIMIT {$inicio}, {$itens_pagina}"; $result = mysql_query($sql); // Exibindo a tabela de produtos echo '<table width="60%">'; while ($obj = mysql_fetch_object($result)): echo <<<HTML <tr> <td><img src="fotos/{$obj->codigo}.jpg" width="70" heigth="95" /></td> <td>{$obj->descricao}</td> <td>R${$obj->preco}</td> <tr/> HTML; endwhile; echo '</table>'; mysql_free_result($result); unset($sql, $result, $obj); // Montar links para as paginas $links = array(); for ($i = 1; $i <= $total_paginas; $i++) { if ($i == $pagina) { $links[] = '<span>['.$i.']</span>'; } else { $links[] = "<a href=\"pesquisa2.php?pag={$i}&cod={$cod_grupo}\">{$i}</a>"; } } // Exibir links para as paginas echo '<p>'.implode(' ', $links).'</p>'; // Fechar a conexao mysql_close($conecta); ?> </body> </html>
Veja que tem muitas coisas que podem ser feitas de outra forma
07/09/2010 10:02pm
(~14 anos atrás)
(~14 anos atrás)
Postei um script que acho que atenda a suas necessidades
http://www.phpbrasil.com/script/AU_1AtGNbDX/exibir-resultados-em-colunas-com-paginacao-mysql
abraço
http://www.phpbrasil.com/script/AU_1AtGNbDX/exibir-resultados-em-colunas-com-paginacao-mysql
abraço