Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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.
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!
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...
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