Ir para conteúdo

POWERED BY:

Arquivado

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

Fábio Leandro

inserir regitros(mysql) num array bidimensional

Recommended Posts

pessoal, eu to precisando fazer o seguinte:na minha pagina inicial tem um uma tabela(html) que ficara responsavel por mostrar algumas imagen vindas do banco de dados(que guarda somente a urls dessas imagens!) só que eu to enfrentando um grande problema: na pagina inicial a minha tabela tem 3 colunas e 3 linhas, então eu não estou conseguindo gerar o comando para fazer com que os registros vindos do banco passem pelas 3 coluna iniciais e pule logo para linha debaixo e comece a inserir os registros restantes a partir da segunda linha dessa tabela!acho que a pergunta mais certa seria:como fazer com que os registros vindos do DB quando encontrar um final da terceira coluna(da tabela html), passar para linha de baixo sem acrecentar outras colunas na frente?pensei em destribuir os registros num array bidimensional e depois em cada linha e coluna da minha tabela(htnl) ir chamando a partir do endereço de cada valor do meu array.mas não sei como fazer isso!então desde já agradeço quem puder solucionar este problema...muito obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que entendi, o que você quer é exibir as imagens numa tabela, limitando o número de colunas. É isso? Se for, nem monte esse array, veja este tópico:

 

http://forum.imasters.com.br/index.php?s=&...st&p=608984

 

Abraços,

Beraldo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja esse cód... é só configurar a ordem da tabela ao seu gosto.

<?php//consulta de exemplo$query = mysql_query("select nome from imagem");//ordem da coluna, nesse caso 3x3$numCol = 3;$numLinha = 3;//contadores.. sempre iniciados com zero$contLinha = 0;$contCol = 0;$table = "<table>\n";while($registros = mysql_fetch_assoc($query)){	if(!$contCol)		$table .= "\t<tr>\n";	$table .="\t\t<td>".$registros["nome"]."</td>\n";	if(++$contCol==$numCol){		$table .=  "\t</tr>\n";		if(++$contLinha==$numLinha){			//Isso fará com que idependente da quantidade de registros, só mostre até a ordem da tabela			break;		}		$contCol=0;	}}if($contCol!=$numCol){	$colunas = $numCol-$contCol;	for($i=0;$i<$colunas;$i++){		$table.="\t\t<td></td>\n";	}	$table.="\t</tr>\n";}$table .=  "</table>\n";echo $table;?>

Espero ter ajudado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

simples,

use 2

for(){}

por exemplo, quando você tem

while($dados = mysql_fetch_array($query)){}

na verdade ele vai "batendo" no laço até que chegue ao fim, se você usar assim:

for(){$dados = mysql_fetch_array($query);}

tambem funciona, no primeiro for você manda mostrar o numero de linhas e no outro as colunas...

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.