Jump to content
alexmestre

como mostrar varios conteudos de varias tabelas

Recommended Posts

alexmestre

olá boa noite

o problema é o seguinte

no site que estou a criar contem varios tipos de conteúdo: filmes, jogos, series e álbuns.

para cada tópico uso uma tabela

a minha questão é como

mostrar o conteúdo destes 4 tópicos tudo junto.

Em separado consegui faze lo e ordena lo por ordem da data mais recente

gostava agora de os mostrar todos juntos na pagina home.

Cada pagina em separado por exemplo a pagina filmes

eu uso uma tabela em html onde faço a estruturaçao do conteudo do filme ou seja 

os campos titulo, ano lançamento, sinopse, etc...

eu gostava que manteve-se assim estruturado.

alguem sabe como fazer????

:wallbash:

 

Share this post


Link to post
Share on other sites
brunoais

Isso que escreves tem muito conteúdo e nada de informação.

Preciso que repenses e reordenes isso todo que escreveste de uma maneira mais lógica, para te conseguir ajudar.

Aconselho-te tb a mostrar o código q tens, por exemplo, o código que usaste para criar as tabelas.


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
alexmestre

desculpa

pagina filmes

$sql_Pegafilme = mysql_query("SELECT * FROM filmes ORDER BY data_post DESC");
  while ($ln = mysql_fetch_array($sql_Pegafilme)){

$titulo = $ln['titulo'];
$genero = $ln['genero']; 
$sinopse = $ln['sinopse'];
$data_post = $ln['data_post'];
    $username = $ln['nickname'];
$ano = $ln['ano'];
    $link = $ln['link'];
$imagem = $ln['imagem'];
    

?>
<tr>
      <td align="center" valign="middle" height="20px"><span class="titulo"><?php echo $titulo; ?>   <?php echo $ano; ?></span></td>
    </tr>
  <tr>
      <td align="center" valign="middle" height="5px"><hr color="#0066CC" align="center" width="150px" /></td>
    </tr>
    <tr>
      <td align="center" valign="middle"><span class="user"><?php echo $data_post; ?>    <?php echo $username; ?>  </span> </td>
    </tr>
    <tr>
      <td align="center"><img  width="300" height="450"src="<?php echo $imagem; ?>"></td>
    </tr>
    <tr>
      <td align="center"><?php echo $genero; ?></td>
    </tr>
    <tr>
      <td align="center"><?php echo $sinopse; ?></td>
    </tr>
    <tr>
      <td align="center"><a href="<?php echo $link; ?>" target="_blank">Download</a></td>
    </tr>
    <tr>
      <td align="center" valign="middle" height="5px"><hr color="#333333" align="center" width="500px" /></td>
    </tr>

    <?php 
}
  ?>
  </table>

eu gostava que ele mantem-se esta ordem.

para a pagina series é de outra forma



  
  $sql_Pegafilme = mysql_query("SELECT * FROM jogos ORDER BY data_post DESC");
  while ($ln = mysql_fetch_array($sql_Pegafilme)){

$nome = $ln['nome'];
$genero = $ln['genero']; 
$sinopse = $ln['sinopse'];
$informacoes = $ln['informacoes'];
$data_post = $ln['data_post'];
$ano = $ln['ano'];
$link = $ln['link'];
$imagem = $ln['imagem'];

?>
<tr>
      <td align="center" valign="middle"><span class="titulo"><?php echo $nome; ?>   <?php echo $ano; ?></span></td>
    </tr>
    <tr>
      <td align="center" valign="middle" height="5px"><hr color="#0066CC" align="center" width="150px" /></td>
    </tr>
    <tr>
      <td align="center" valign="middle"><?php echo $data_post; ?></td>
    </tr>
    <tr>
      <td align="center"><img  width="300" height="450"src="<?php echo $imagem; ?>"></td>
    </tr>
    <tr>
      <td align="center"><?php echo $genero; ?></td>
    </tr>
    <tr>
      <td align="center"><?php echo $sinopse; ?></td>
    </tr>
    <tr>
      <td align="center"><?php echo $informacoes; ?></td>
    </tr>
    <tr>
      <td align="center"><a href="<?php echo $link; ?>"  target="_blank">Download</a></td>
    </tr>
    <tr>
      <td align="center" valign="middle" height="5px"><hr color="#333333" align="center" width="500px" /></td>
    </tr>

    <?php 
}
  ?>
  </table>

o que eu queria era juntar todos estes para a pagina home

😳

Share this post


Link to post
Share on other sites
socopo

Boas,

Já tive um problema de organizar uma lista de dados de tabelas distintas.

Uma boa solução talvez seria migrares os campos comuns para uma outra tabela, por exemplo uma tabela chamada "Posts". Teria com campos, titulo, data_post, talvez imagem e um para o tipo (série ou filme) para saberes em que tabela ir buscar o resto dos dados.

Outra solução, talvez menos aconselhável, não sei, mas foi a que eu usei na altura. Inserir os dados todos num array assim conseguindo ordenar, mas acredita que não é tarefa fácil!! E provavelmente é trabalho desnecessário ;)

O melhor seria resolver apenas com querys.  :)

Talvez fazer união (UNION) das duas tabelas apenas com os campos do mesmo tipo.

The column names from the first SELECT statement are used as the column names for the results returned. Selected columns listed in corresponding positions of each SELECT statement should have the same data type. (For example, the first column selected by the first statement should have the same type as the first column selected by the other statements.)

------> http://dev.mysql.com/doc/refman/5.0/en/union.html

Share this post


Link to post
Share on other sites
brunoais

O melhor seria resolver apenas com querys.  :thumbsup:

Talvez fazer união (UNION) das duas tabelas apenas com os campos do mesmo tipo.

------> http://dev.mysql.com/doc/refman/5.0/en/union.html

O UNION é algo que se deve evitar ao máximo porque é um processo muito lento.

É bem preferível teres as tabelas  sem dados repetidos e depois executares Joins para as juntares. Claro que se se tornar demasiado complicado para DBMS deves separar o sistema de modo a fazeres várias queries. Tudo depende de como queres que isso funcione


"[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31

Life is a genetically transmitted disease, induced by sex, with death rate of 100%.

Share this post


Link to post
Share on other sites
Demoins

Porque é que não cria uma query com a seleccção de todas as tabelas do tipo:

$queryAll = "Select * From table1, table2, table3 Order By id ASC";

Share this post


Link to post
Share on other sites
Lfscoutinho

Boas,

Primeiro devias normalizar a tua base de dados, ou seja, não ter campos repetidos em várias tabelas.

Depois, utilizar relações e com isso evitares o uso de joins.

Share this post


Link to post
Share on other sites
alexmestre

olá novamente

Lfscoutinho --> mas os campos titulo existem ambos para os filmes e series

Demoins --> mas com essa query não consigo ordenar os campos como necessito daquela forma estruturada

:thumbsup:

Share this post


Link to post
Share on other sites
mAiN_iNfEcTiOn

É assim,

Essas tabelas não estão directa ou indirectamente relacionadas, portanto tentar fazer tudo numa query pode dar azo a uma de duas coisas, ou dados duplicados ou ignorados.

O ideal, se calhar era mesmo pegares nas 3 queries que já tens e aplicares na Home, não?... Uma de cada vez, vais fazendo isso que já fazes e pronto está separada por categoria.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.