Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

webfuture

[Resolvido] Como fazer isto ?

Recommended Posts

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

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.