Ir para conteúdo

POWERED BY:

Arquivado

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

rcdesign

Formatar informações vindas do BD

Recommended Posts

Preciso de uma orientação na seguinte questão:Quando eu faço uma pesquisa no BD com mysql_fetch_array geralmente retorno as respostas utilizando algum tipo de separador ou com <br>...Queria fazer esse retorno formatado em linhas e colunas ?Por exemplo se houver 4 informação no BD o script montaria 4 tabelas colocando uma informação em cada tabela - lado a lado; se houver 15 informações montaria 5 tabelas numa linha, 5 tabelas na segunda linha e 5 tabelhas na terceira linha...tem como fazer isso????

Compartilhar este post


Link para o post
Compartilhar em outros sites

ai nao intendi muito bem esse negocio de tabelas e colunasmonta + ou - como você queria q aparece os registros:digamos q seja ssim:INFO 1 INFO 5 INFO 9INFO 2 INFO 6 INFO 10INFO 3 INFO 7 INFO 11INFO 4 INFO 8 INFO 12

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se eu fizer a consulta dessa forma:

 

while($campo = mysql_fetch_array($sql)) {print "<center><a href='foto.php?foto=$campo[0]' target='_blank'><img src='fotos/$campo[3]' width='100' height='75' border='0' style='border: 1 solid #000000'></a><br><font face='Verdana' size='2' color='$campo2[9]'>$campo[2]</font></center>";

Será mostrada na tela uma informação embaixo da outra... eu quero fazer com essas informações sejam mostradas da seguinte forma:

 

Exemplo 01 - 4 informações no BD

 

INFO1 INFO2 INFO3 INFO4

 

Exemplo 02 - 10 informações no BD

 

INFO1 INFO2 INFO3 INFO4 INFO5

INFO6 INFO7 INFO8 INFO9 INFO10

 

e assim por diante, ou seja o código tem que ser capaz de montar as tabelas de acordo com a quantidade de informações existentes no BD naquele momento.

 

Por se tratar de um álbum de fotos com diversas categorias, pode haver uma categoria com 3 fotos outra com 30... como o álbum é atualizado semanalmente essas quantidades vão variar com frquência, por isso preciso de um código dinâmico, que monte as tabelas (linhas e colunas) na hora....

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá uma pesquisada no Forum, q eu me lembre tem 2 Tópicos sobre isso, mas deve ter mais. (2 q eu vi, e acho q postei tbm).Flwwwwww

Compartilhar este post


Link para o post
Compartilhar em outros sites

é..... como eu li agora há pouco num post do forum: "vida de iniciante é uma b...."

 

Michel, procurei, pesquisei, li e continuo não entendendo como fazer ....

 

Meu código é esse aqui:

<html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>Álbum de Fotos - Menu Fotos</title></head><?include "config.php";$sql2 = mysql_query("SELECT * FROM `$tabela2`", $db3);while($campo2 = mysql_fetch_array($sql2)) {?><body bgcolor="#FFFFFF" background="../imagens/fundo.jpg" leftmargin="0" topmargin="5" marginwidth="0" marginheight="5"><table width="150"  border="0" cellspacing="2" cellpadding="2">  <tr>    <td><p align="left"><font face="Verdana" size="2"><strong>Fotos</strong></font></p><?$gal = $_POST["campo"];   $sql = mysql_query("SELECT * FROM `$tabela3` WHERE galeria='$gal'", $db3);$n3 = mysql_num_rows($sql);while($campo = mysql_fetch_array($sql)) {print "<center><a href='foto.php?foto=$campo[0]' target='_blank'><img src='fotos/$campo[3]' width='100' height='75' border='0' style='border: 1 solid #000000'></a><br><font face='Verdana' size='2' color='$campo2[9]'>$campo[2]</font></center>";}}?></td>  </tr></table></body></html>

 

???????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Michel eu já li esses tópicos (além de outros) mas como eu comentei continuo sem saber como fazer... já testei várias coisas aqui mas não consigo fazer funcionar.... sei que parece "encheção de saco" essas "perguntinhas idiotas" para quem domina a linguagem, mas para quem está começando a aprender é realmente f... tentar entender e adaptar situações que não são exatamente as mesmas.Então, peço encarecidamente que se você ou alguém que souber como escrever essa instrução no meu código por favor me ajude!!!!!!!!!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não alterei no seu código, pq isso enche o sa...!!! hehehehe

 

Um exemplo:

PHP [/tr][tr]<table border="1" width="100%">

 

<?php

while ($i < 10) {$i++;

if ($i%4) {echo "<tr>\n";}

?>

<td> </td>

<td> </td>

<td> </td>

<td> </td>

 

 

<?php

if ($i%4) {echo "</tr>\n";}

}

?>

[/tr]

Ve se funciona ai, fiz de cabeça, mas pela lógica está correto.

 

Testa ai e fala se funciona ou ñ, se é isso ou ñ...

 

Até +... ^_^

Compartilhar este post


Link para o post
Compartilhar em outros sites

:( Depois de várias tentativas pra inserir este código no script continua não dando certo...1. Falta definir a variável $i e tudo que eu coloquei deu erro...2. Não cria uma nova linha quando chega no limite estabelecido...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ué, estranho, vou testar ele e ver se ta certo msm.você rodou ele do jeito q eu postei, pra testar, ver se é realmente oq você quer?!?!Este é só um exemplo, você teria q adapta-lo a seu script, tbm, hein!!!Até +...

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim.. eu adaptei a ele.. ou pelo menos tentei adapta-lo já que deu erro... eu tentei várias coisas diferentes em cima desse código que você postou..

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim.. eu adaptei a ele.. ou pelo menos tentei adapta-lo já que deu erro... eu tentei várias coisas diferentes em cima desse código que você postou..

você rodou o script do jeito q eu postei, pra ver se é realmente o q você precisa?!?!Quais erros q estão ocorrendo?!?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Do jeito que eu fiz agora, além da definição da variável i que está faltando mostra as duas primeiras fotos numa linha e as outras uma em cada linha subseqënte (uma embaixo da outra)

 

O código está assim:

<table width="100%"  border="0" cellspacing="2" cellpadding="2">  <tr>    <td><font face='Verdana' size='2'><strong>Fotos</strong></font></td>  </tr>  <tr>    <td valign="top">      <table width="100%"  border="0" cellspacing="2" cellpadding="2">          <tr>            <td><?php$gal = $_POST["campo"];   $sql = mysql_query("SELECT * FROM `$tabela3` WHERE galeria='$gal'", $db3);$n3 = mysql_num_rows($sql);while ($i < 10) {$i++;if ($i%6) {echo "<td>\n";}while($campo = mysql_fetch_array($sql)) {print "<td><table><tr><td><center><a href='foto.php?foto=$campo[0]' target='_blank'><img src='fotos/$campo[3]' width='100' height='75' border='0' style='border: 1 solid #000000'></a><br><font face='Verdana' size='2' color='$campo2[9]'>$campo[2]</font></center></table></tr></td></td>";?></tr></table>      <?phpif ($i%6) {echo "</td>\n";}}}}?></td>  </tr></table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem um provavel erro!!tens que inicalizar o $i antes do while com algum valor.... senão ele pega sujeira da memória!![]'s PunK :blink:

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente isso....

PHP [/tr][tr]

<table border="1" width="100%">

 

<?php

$i = 0;

while ($i < 10) {$i++;

if ($i%4 == 0) {echo "<tr>\n";}

?>

<td> </td>

<td> </td>

<td> </td>

<td> </td>

 

 

<?php

if ($i%4 == 0) {echo "</tr>\n";}

}

?>

[/tr]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Também não dá certo não.... se eu fizer com <td></td> fica tudo na mesma linha...se eu fizer com </tr></table> (como eu coloquei no código)aparece duas imagens numa mesma linha e as outras cada uma em uma linha diferente, independente do valor que eu atribuir para o $i...

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente isso....

PHP [/tr][tr]if ($i%4 == 0) {echo "<tr>\n";}

if ($i%4 == 0) {echo "</tr>\n";}

[/tr]
Esse código vai dar erro, na formatação, mto provavelmente.

 

Tente assim:

PHP [/tr][tr]<table border="1" width="100%">

 

<?php

$i = 0;

while ($i < 10) {$i++;

 

if ($i%4) {echo "<tr>\n";}

?>

<td> </td>

<td> </td>

<td> </td>

<td> </td>

 

 

<?php

if ($i%4) {echo "</tr>\n";}

}

?>

 

</table>

[/tr]

 

rcdesign: O Código é esse ai msm, testado e funcionando...

 

Até +...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara.. da uma olhada nesse troço aqui.. e ve se te serve....

 

e melhora ele........

 

Um abraço

PHP [/tr][tr]

<table border=1 width="400">

<tr>

<?

$aux = 1;

while($i < 10){

?>

<td bgcolor="#cccccc">  </td>

<?

if ($aux == 4) {

$aux = 1;

echo "</tr><tr>";

 

}else{

$aux = $aux + 1;

}

$i++;

}

?>

[/tr]

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.