Ir para conteúdo
Fórum Script Brasil
  • 0

Formatando Em Uma Tabela


fsphp

Pergunta

Fiz um script que envia fotos e miniaturas delas para um diretório e o endereço delas para um banco de dados.

Aí eu fiz um script para visualizar essas fotos onde mostro a miniatura com um link para a foto maior. está funcionando tudo certinho mas as miniaturas aparecem uma embaixo da outra.

Como faço para jogar cada uma dessas miniaturas em uma tabela de forma que cada linha tenha cinco miniaturas?

Valeu pessoal.

Link para o comentário
Compartilhar em outros sites

19 respostass a esta questão

Posts Recomendados

  • 0

O script está repetindo 5 vezes a mesma miniatura por linha, ao invés de colocar cinco diferentes por linha. Já tentei de várias formas mas não acertei. Então estou postando o código para quem puder dar uma força.

html><head><title>Gera Arquivos de Fotos</title></head>

<body bgcolor="#f0ffff">

<div align="center">

    <center>

    <table border="5" cellspacing="25" cellpading="5">

<?php

include "include.php";

mysql_connect($hostname, $username, $password);

mysql_select_db($database);

$seleciona = mysql_query("SELECT * FROM foto_album");

$linhas = mysql_num_rows($seleciona);

for($i=0; $i<$linhas; $i++)

{

  $dados = mysql_fetch_array($seleciona);

  $imagem = $dados[0];

  $arquivo_miniatura = $dados[1];

  $foto_endereco = $dados[2];

  $mini_endereco = $dados[3];

            // = = = = = = =CRIA A TABELA COM AS COLUNAS = = = = = =  //

$mini = array($mini_endereco);

$total_fotos = $mini[0];

$fotos_por_linha = 5;

$colunas = 0;

  echo "<tr>";

  while($colunas < $fotos_por_linha)

      {

        echo "<td><a href=\"$foto_endereco\"><img src=\"$total_fotos\"></a><br> - <b>$imagem</b><br></td>";

        $colunas++;

      }

      echo "</tr>";

}

?>

<p align="center"><a href="http://localhost/01_localmente/foto_album/dir_criado/foto_form_envia.htm"><b>ENVIAR OUTRA FOTO</b></a></p>

</table>

</center>

</div>

</body>

</html>

Link para o comentário
Compartilhar em outros sites

  • 0

você está ordenando q repita 5 vezes, olhe:

$mini = array($mini_endereco);
$total_fotos = $mini[0];
$fotos_por_linha = 5;
$colunas = 0;
  echo "<tr>";
  while($colunas < $fotos_por_linha)
      {
        echo "<td><a href=\"$foto_endereco\"><img src=\"$total_fotos\"></a><br> - <b>$imagem</b><br></td>";
        $colunas++;
      }
      echo "</tr>";
}

No while, você estah dizendo q se o valor colunas for menor q 5, é para colocar a mesmo imagem, dê uma olhada para você entender melhor wink.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Nessa parte aí de baixo eu estou boiando!!!

$mini = array($mini_endereco);

$total_fotos = $mini[0];

$fotos_por_linha = 5;

$colunas = 0;

  echo "<tr>";

  while($colunas < $fotos_por_linha)

      {

        echo "<td><a href=\"$foto_endereco\"><img src=\"$total_fotos\"></a><br> - <b>$imagem</b><br></td>";

        $colunas++;

      }

      echo "</tr>";

}

É justamente a parte de fazer o contador para colocar tudo como quero. O controle que eu entendo um pouquinho melhor é o IF, os demais eu quase não usei e dou uma viajada.

Link para o comentário
Compartilhar em outros sites

  • 0

Mas eu não entendi direito o que você falou:

<table>

<tr>

<?php

$a=0;

while($r = mysql_fetch_array($consulta)){

if($a%5==0 && $a>0) echo "</tr><td>";

?>

<td>imagem</td>

<?php

$a++;

}

?>

</table>

A variável $r é usada somente para fazer o loop? É isso? Onde você colocou <td>imagem</td> é para eu colocar $imagem, certo?

Link para o comentário
Compartilhar em outros sites

  • 0

Isso mesmo, o para você recuperar valores, é só fazer: $r["nome_do_campo"], daí ele mostra, faça com uma consulta simples para você entender melhor o funcionamento, mas não tem segredo.

<td>imagem</td> é para você colocar a imagem mesmo wink.gif

Qualquer dúvida, estamos ae

Link para o comentário
Compartilhar em outros sites

  • 0

Coloquei assim mas ainda não acertei fazer:

            // = = = = = = =CRIA A TABELA COM AS COLUNAS = = = = = =  //

echo "<table cellspacing=25 cellpading=15 border=5>";

echo "<tr>";

$a=0;

while($r = mysql_fetch_array($seleciona)){

if($a%5==0 && $a>0)

echo "</tr><td>";

echo "<td><a href=\"$foto_endereco\"><img src=\"$mini_endereco\"><br><b>$imagem</b></a></td>";

$a++;

}

echo "</table>";

}

Está repetindo cinco vezes a mesma miniatura. E aí, onde estou errando?

Link para o comentário
Compartilhar em outros sites

  • 0

Faça assim:

 // = = = = = = =CRIA A TABELA COM AS COLUNAS = = = = = =  //
echo "<table cellspacing=25 cellpading=15 border=5>";
echo "<tr>";

$a=0;

while($r = mysql_fetch_array($seleciona)){

if($a%5==0 && $a>0){ echo "</tr><tr>";}
echo "<td><a href=\"$r["foto_endereco"]\"><img src=\"$r["mini_endereco"]\"><br><b>$r["imagem"]</b></a></td>";

$a++;
}
echo "</table>";
}

Agora não sei se imagem,mini_endereco e foto_endereco são campos.

smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Deu o seguinte erro:

Parse error: parse error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in c:\arquivos de programas\easyphp1-7\www\01_localmente\foto_album\dir_criado\foto_visualizar_formatado.php on line 30

Na linha echo "<td><a href=\"$r["foto_endereco"]\"><img src=\"$r["mini_endereco"]\"><br><b>$r["imagem"]</b></a></td>";

Esses nomes são campos e variáveis também, é o mesmo nome.

Link para o comentário
Compartilhar em outros sites

  • 0

biggrin.gif BINGO biggrin.gif

Agora funcionou certinho, valeu Thiago. Vou analisar esse trabalho para aprender com ele.

Só me explica essa sintaxe que você usou que eu nunca ví:

echo "<td><a href=\"",$r["foto_endereco"],"\"><img src=\"",$r["mini_endereco"],"\"><br><b>",$r["imagem"],"</b></a></td>";

Você escapou a primeira aspas dupla e depois colocou o conteúdo entre virgulas e aspas!!! Como é isso?

\"",$r["foto_endereco"],"\"

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...