Ir para conteúdo

POWERED BY:

Arquivado

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

Mulambo

[Resolvido] Exibir resultados em tabela dinâmica.

Recommended Posts

Olá gente, gostaria de pedir ajuda em uma página que estou montando aqui.

Antes de ir direto ao ponto vou explicar o conceito do que eu busco, quero exibir os resultados de uma database em forma de tabela, mais ou menos assim:

Imagem1:

Imagem Postada

 

Ou seja, a tabela deve ter 3 colunas e infinitas linhas, ai eu fiz a parte de busca na db, que ficou assim:

 

<?php
	include ("conexao.php");
	$resultado = mysql_query("select * from produtos");
	mysql_close();
	if(mysql_num_rows($resultado) < 1) {
	exit;
}
	while($l = mysql_fetch_array($resultado)) {
		$id        = $l["id"];
		$produto   = $l["produto"];
		
			echo "<div id='produto_box'>
<div id='produto_icon'></div>
<div id='produto_nome'>
<a href='?pagina=ver_produto&amp?id={$l['id']}'>$produto</a></div>
</div>";
}  
?>

O problema desse código é que ele mostra os resultados de forma linear, e eu quero exibir do modo que foi dito anteriormente, ai fui tentar fazer uma 'gambiarra' de misturar dois códigos e deu nisso aqui:

<table border="0" width="100%" cellpascing="1" cellpadding="0">
<?php
$total_linhas = mysql_num_rows($resultado);
$linhas= $total_linhas;
$colunas = 3;
// laço que montará a tabela de acoro com as variáveis $linhas e $colunas
for ($i=0;$i<$linhas;$i++){
echo "<tr>";
for($j=0; $j<$colunas; $j++){
if ($i % 2){
// a função bg color mostra cada linha de uma cor.
$bgcolor = "#A8A8A8";
}else{
$bgcolor="#CCCCCC";
}
echo " <td bgcolor=$bgcolor align='center'><div id='produto_box'>
<div id='produto_icon'></div>
<div id='produto_nome'>
<a href='?pagina=ver_produto&amp?id={$l['id']}'>$produto</a></div>
</div></td>";
}
echo "</tr>";
}
?>
</table>
E o problema aqui, é que mostra como na foto acima, gera mais resultados do que existe na database, além de exibir apenas o ultimo resultado inserido.

 

E agora amigos. Como posso fazer pra obter o meu resultado? alguem pode me ajudar?

 

Agradeço desde de já!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu exibiria cada resultado em uma DIV (ou SPAN) e definiria um resultado próximo ou igual a 30% de largura + o float:left; para pular linha. O esquema é simples, é só dar o float e definir o tamanho, no caso, 100%/3 = 33%, só que você não pode colocar 33% por causa dar margens.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dei uma olhada aí e vamo ve se eu entendi...

você diz que cada quadrinho desse é um registro certo! então imprime tudo em divs de forma linear. Se ela (a div) estiver dentro de um container (outra div) com uma propriedade de largura (isso falando de css) definida ele vai quebrar a linha sem problemas. Pois uma div é um elemento nível de bloco. Todos os elementos nível de bloco inserem uma quebra de linha, como se fosse um <br/>, antes e depois do elemento. (e claro usando um float: left;) como o colega aí de cima falou.

 

(entendi a coisa ou to errado???)

:mellow:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigos, Problema resolvido!!

 

Eu me fixei tanto nesse lance de fazer com tabela dinâmica, que nem pensei em fazer com css direto!

 

Olha ai o Resultado:

Imagem Postada

 

 

Muito Obrigado! Abraços!

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.