webfuture 0 Denunciar post Postado Novembro 29, 2008 Olá galera, estou com um probleminha aqui, na verdade uma dúvida, tenho um script que lista informações do banco de dados, porém, o que quero fazer é, vou listar imagens em colunas então como não manjo muito de php ainda, pensei em fazer um if tipo, se chegar no numero tal quebra, se chegar no numero tal quebra novamente, se chegar no numero tal quebra e assim por diante, o script funciona, ele lista todos os registros mas a contagem não rola, vejam o script: <?php include "includes/funcoes/mysqlconecta.php"; // Conecta ao banco de dados include "includes/funcoes/mysqlexecuta.php"; // Executa a cláusula SQL //Executa a consulta $sql = "SELECT id_cliente, nome_cliente FROM tb_clientes order by data_cadastro desc "; $res = mysqlexecuta($id,$sql); //Exibe as linhas encontradas na consulta while ($row = mysql_fetch_array($res)) { foreach (glob("images/clientes/" . $row['id_cliente'] . ".jpg") as $arquivo) { $tamanho_arquivo = filesize($arquivo); $arquivo = $row['id_cliente'] . ".jpg"; } foreach (glob("images/clientes/" . $row['id_cliente'] . ".gif") as $arquivo) { $tamanho_arquivo = filesize($arquivo); $arquivo = $row['id_cliente'] . ".gif"; } foreach (glob("images/clientes/" . $row['id_cliente'] . ".png") as $arquivo) { $tamanho_arquivo = filesize($arquivo); $arquivo = $row['id_cliente'] . ".png"; } $a = $a + 1; if ($a = 7 || $a = 13 || $a = 19 || $a = 25 || $a = 31 || $a = 37 || $a = 43 || $a = 49 || $a = 55 || $a = 61 || $a = 67 || $a = 73 || $a = 79 || $a = 85 || $a = 91 || $a = 97) { echo "</tr><tr>"; } ?> <td height="110"> <?php if ($arquivo != "") { ?> <a href=clientes_mostras.php?id_cliente=<?php echo $row['id_cliente']; ?>><img alt="" border="0" src="images/clientes/<?php echo $arquivo; ?>" width="100" height="100" /></a> <?php } if ($arquivo == "") { ?> <img alt="" border="0" src="images/clientes/<?php echo $arquivo; ?>" width="100" height="100" /> <?php } ?> </td> <td> </td> <?php } // mysql_close($con); ?> Até coloquei um script que verifica se existe a foto com o id do cliente na pasta, agora só falta isto. Alguém pode me ajudar? Xavier Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Novembro 29, 2008 Não é mais fácil você criar um laço e imprimir a quantidade de coluna desejada e no sql você limitar o numero de imagens a ser mostrada usando LIMIT é uma idéia Compartilhar este post Link para o post Compartilhar em outros sites
webfuture 0 Denunciar post Postado Novembro 30, 2008 Olá WDuarte, então, comecei a mexer a pouco com PHP, fazer o looping de 1 a 4 (exemplo) que são o número de colunas que precisaria "" eu consigo, agora como controlar o que vai dentro, tipo, digamos que no banco de dados existam 100 registros, preciso listar 25 por coluna, dividindo em 4. Você tem algum exemplo disto? Xavier Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Novembro 30, 2008 Pois é mano vou te da idéia da lógica para você começar a desenvolver porque não tenho pronto também mas da pra fazer assim!! cria seu select $sql = mysql_query("SELECT * FROM tb_clientes order by data_cadastro desc LIMIT 100"); abre a tabela echo "<table width='100%' >"; Abre uma var pra começar para informar o loop $conta_coluna = 1; Aqui voce cria um while para listar todos os ids while ($aux = mysql_fetch_array($sql)) { insere a linha echo "<td><img src=../images/clientes/aqui voce pega insere a $var_da imagem alt='' border='0' /></td>"; o segredo do sistema taqui enquanto existir imagem e no banco e form maior que um, ele vai listando em colunas e quebra na quarta coluna $conta_coluna++; if ($conta_coluna == 5) { echo "</tr>"; $conta_coluna = 1; } aqui fecha } echo "</table>"; e no sql voce limita o numero de imagem a ser mostrada E essa é a lógica mas funciona e só voce pegar agora e montar certinho, e dar uma pesquisada sobre que voce consegue, só não vou montar pra você senão seria muito fácil :P é que também estou numa correria para entregar um programa de gerenciamento. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Novembro 30, 2008 Eu acho toda essa coisa de <table> complicada de mais =X Veja que <tr> é LINHA, e <td> é coluna... para quebrar em colunas, você precisaria fazer: <tr> <td>linha 1 coluna 1</td> <td>linha 1 coluna 2</td> <td>linha 1 coluna 3</td> </tr> <tr> <td>linha 2 coluna 1</td> <td>linha 2 coluna 2</td> <td>linha 2 coluna 3</td> </tr>Coisa que com UL, LI.. fica bem mais intuitivo... veja..Vamos assumir o UL como uma coluna... os LI que estiverem dentro é cada item de cada coluna... no lugar doq eu coloquei no <li></li>, você pode colocar oq precisar. Que no caso, seria o teu: <li><?php if ($arquivo != "") { ?> <a href="clientes_mostras.php?id_cliente=<?php echo $row['id_cliente']; ?>"><img alt="" border="0" src="images/clientes/<?php echo $arquivo; ?>" width="100" height="100" /></a> <?php } if ($arquivo == "") { ?> <img alt="" border="0" src="images/clientes/<?php echo $arquivo; ?>" width="100" height="100" /> <?php } ?></li> Só os outros foreach que não analizei bem.. ?> <style type="text/css"> ul.coluna { float: left; width: 150px; } </style> <ul class="coluna"> <?php $a = 1; $sql = mysql_query("SELECT * FROM sub "); while($dados = mysql_fetch_assoc($sql)){ ?> <li><?php echo $dados['nomeSubcategoria'] ?></li> <?php if($a == 5 || $a == 10 || $a == 15) //à cada qntos registros vai quebrar a coluna print '</ul>'."\n".'<ul class="coluna">'."\n"; $a++; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Novembro 30, 2008 Coisa que com UL, LI.. fica bem mais intuitivo... Verdade uma hora eu abandono estas tables!!! Bem que eu tento xará, mas elas não saem de mim http://forum.imasters.com.br/public/style_emoticons/default/grin.gif Compartilhar este post Link para o post Compartilhar em outros sites
webfuture 0 Denunciar post Postado Dezembro 1, 2008 Olá pessoal, valeu pela ajuda, consegui fazer o que precisava. Obrigado, Xavier Compartilhar este post Link para o post Compartilhar em outros sites