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

(Resolvido) Relacionamento entre dados


(!_Odisséa_!)

Pergunta

Boa tarde! Tenho uma pequena esperiencia no em PHP e MySQL. E estou com uma dúvida que achei que fosse simples, mas não consigo solucioná-la.

Eu tenho duas tabelas no banco de dados:

Tabela DADOS com os seguintes campos: id, login, senha, nome, email

Tabela FOTOS com os seguintes campos: id, foto, desc, numero

Eu fiz o campo "id" para que o codigo entenda que um "id" pode ter várias imagens.

Ai o que eu fiz, em uma página eu fiz dois frames, um menu do lado esquerdo (página main.php) que imprime os valores: dados.id, dados.nome, fotos.descr e do lado direito uma outra página (imagem.php) que mostra fotos ampliadas que estão ligadas ao fotos.descr. Só que o que esta acontecendo é o seguinte, quando eu acesso com o usuário de "id=2", ele me imprime corretamente os fotos.descr, mas quando eu clico no fotos.descr ele sempre me mostra na página imagem.php a imagem referente ao "id=1".

Eu usei INNER JOIN pra fazer a ligação entre as tabelas.

alguém poderia me ajudar, dizendo se da maneira que estruturei o banco esta correto? ou se é realmente o código que esta errado? ou se tem um tutorial que eu consiga fazer esse sistema.

Muito obrigado pela atenção.

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

pagina main.php

<?php require_once('../Connections/cliente.php');

session_start();

$usuario = $_SESSION['MM_Username'];

mysql_select_db($database_cliente, $cliente);
//$query_RS_main = "SELECT dados.id, dados.login, dados.nome, fotos.foto, fotos.desc, fotos.numero FROM dados, fotos WHERE dados.id = fotos.id AND dados.login = '$usuario' ORDER BY fotos.numero";
$query_RS_main = "SELECT dados.id, dados.login, dados.nome, fotos.user_id, fotos.foto, fotos.desc, fotos.numero FROM dados, fotos WHERE dados.id = fotos.user_id AND dados.login = '$usuario' ORDER BY fotos.numero ASC";
$RS_main = mysql_query($query_RS_main, $cliente) or die(mysql_error());
$totalRows_RS_main = mysql_num_rows($RS_main);
$row_RS_main = mysql_fetch_row($RS_main);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Cliente -&lt; E X T R A N E T &gt;-</title>
</head>

<body marginheight="0" marginwidth="0">
<table width="276"  border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="10" rowspan="6"></td>
    <td width="266" height="10"></td>
  </tr>
  <tr>
    <td width="266"><img src="imagens/logo.jpg" width="266" height="77" /></td>
  </tr>
  <tr>
    <td width="266" class="extranet">E X T R A N E T</td>
  </tr>
  <tr>
    <td width="266" height="10"></td>
  </tr>
  <tr>
    <td width="266"><table width="100%"  border="0" cellpadding="0" cellspacing="0">
      <tr bgcolor="#f2ecdc">
        <td height="5" colspan="3"></td>
        </tr>
      <tr>
        <td width="5" bgcolor="#f2ecdc">&nbsp;</td>
        <td width="256" bgcolor="#FFFFFF" class="fixo"><img src="imagens/data.jpg" width="15" height="15" /> Data e Hor&aacute;rio do acesso: </td>
        <td width="5" bgcolor="#f2ecdc">&nbsp;</td>
      </tr>
      <tr bgcolor="#f2ecdc">
        <td height="3" colspan="3"></td>
        </tr>
      <tr>
        <td width="5" bgcolor="#f2ecdc">&nbsp;</td>
        <td width="256" bgcolor="#FFFFFF" class="dinamico"><?PHP echo date('d/ m/ Y (H:i:s)', $_SESSION['time']); ?></td>
        <td width="5" bgcolor="#f2ecdc">&nbsp;</td>
      </tr>
      <tr bgcolor="#f2ecdc">
        <td height="5" colspan="3"></td>
      </tr>
      <tr>
        <td height="15" colspan="3"></td>
      </tr>
      <tr bgcolor="#f2ecdc">
        <td height="5" colspan="3"></td>
        </tr>
      <tr>
        <td width="5" bgcolor="#f2ecdc">&nbsp;</td>
        <td bgcolor="#FFFFFF" class="fixo" width="256"><img src="imagens/usuario.jpg" width="15" height="16" /> Dados do usu&aacute;rio: </td>
        <td width="5" bgcolor="#f2ecdc">&nbsp;</td>
      </tr>
      <tr>
        <td height="3" colspan="3" bgcolor="#f2ecdc"></td>
        </tr>
      <tr>
        <td width="5" bgcolor="#f2ecdc">&nbsp;</td>
        <td width="256" class="dinamico"><strong>Login (id):</strong> <?PHP echo $_SESSION['MM_Username']; ?> (<?php echo $row_RS_main['id']; ?>)<br />
          <strong>Cliente:</strong> <?php echo $row_RS_main['nome']; ?></td>
        <td width="5" bgcolor="#f2ecdc">&nbsp;</td>
      </tr>
      <tr>
        <td height="5" colspan="3" bgcolor="#f2ecdc"></td>
        </tr>
      <tr>
        <td height="15" colspan="3"></td>
        </tr>
      <tr bgcolor="#f2ecdc">
        <td height="5" colspan="3"></td>
        </tr>
      <tr>
        <td width="5" bgcolor="#f2ecdc">&nbsp;</td>
        <td width="256" class="fixo"><img src="imagens/foto.jpg" width="15" height="15" /> Imagens do projeto: </td>
        <td width="5" bgcolor="#f2ecdc">&nbsp;</td>
      </tr>
      <tr bgcolor="#f2ecdc">
        <td height="3" colspan="3"></td>
        </tr>
      <tr>
        <td bgcolor="#f2ecdc">&nbsp;</td>
        <td class="dinamico"><?php do { ?>
              <table width="100%"  border="0" cellspacing="0" cellpadding="0">
                <tr>
                  <td height="18"><img src="imagens/seta.jpg" width="10" height="10" />&nbsp;<a href="imagem.php?recordID=<?php echo $row_RS_main['numero']; ?>" target="mainFrame"><?php echo $row_RS_main['desc']; ?></a></td>
                </tr>
              </table>
              <?php } while ($row_RS_main = mysql_fetch_assoc($RS_main)); ?> </td>
        <td width="5" bgcolor="#f2ecdc">&nbsp;</td>
      </tr>
      <tr>
        <td height="5" colspan="3" bgcolor="#f2ecdc"></td>
        </tr>
      <tr>
        <td height="15" colspan="3"></td>
        </tr>
      <tr>
        <td height="5" colspan="3" bgcolor="#f2ecdc"></td>
        </tr>
      <tr>
        <td bgcolor="#f2ecdc">&nbsp;</td>
        <td class="sair"><a href="logout.php" target="_parent">Sair da extranet!</a></td>
        <td width="5" bgcolor="#f2ecdc">&nbsp;</td>
      </tr>
      <tr bgcolor="#f2ecdc">
        <td height="5" colspan="3"></td>
        </tr>
    </table></td>
  </tr>
  <tr>
    <td width="266">&nbsp;</td>
  </tr>
</table>
</body>
</html>
<?php
mysql_free_result($RS_main);
?>
Página imagem.php
<?php require_once('../Connections/cliente.php');
mysql_select_db($database_cliente, $cliente);
$recordID = $_GET['recordID'];
$query_DetailRS1 = "SELECT dados.id, dados.login, dados.nome, fotos.foto, fotos.desc, fotos.numero FROM dados INNER JOIN fotos ON dados.id = fotos.id  WHERE numero = $recordID";
//$query_DetailRS1 = "SELECT dados.id, dados.login, dados.nome, fotos.foto, fotos.desc, fotos.numero FROM dados, fotos WHERE dados.id = fotos.id AND dados.login = '$usuario' WHERE numero = $recordID";
$DetailRS1 = mysql_query($query_DetailRS1, $cliente) or die(mysql_error());
$totalRows_DetailRS1 = mysql_num_rows($DetailRS1);
$row_DetailRS1 = mysql_fetch_row($DetailRS1);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>cliente -&lt; E X T R A N E T &gt;-</title>
</head>

<body marginheight="0" marginwidth="0">
<table width="440" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td height="10" colspan="3"></td>
  </tr>
  <tr bgcolor="#f2ecdc">
    <td height="6" colspan="3"></td>
  </tr>
  <tr>
    <td width="5" bgcolor="#f2ecdc">&nbsp;</td>
    <td width="256" class="fotos">FOTOS</td>
    <td width="5" bgcolor="#f2ecdc">&nbsp;</td>
  </tr>
  <tr bgcolor="#f2ecdc">
    <td height="6" colspan="3"></td>
  </tr>
  <tr>
    <td width="5" bgcolor="#f2ecdc">&nbsp;</td>
    <td width="256"><table width="430" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="3" rowspan="4">&nbsp;</td>
        <td colspan="2" class="descr"><img src="imagens/seta.jpg" width="10" height="10" /> <?php echo $row_DetailRS1['desc']; ?></td>
        <td class="numero"><?php echo $row_DetailRS1['numero']; ?></td>
        <td width="3" rowspan="4">&nbsp;</td>
      </tr>
      <tr>
        <td height="3" colspan="3" bgcolor="#333333"></td>
        </tr>
      <tr>
        <td colspan="3"><div align="center"><img src="imagem/<?php echo $row_DetailRS1['foto']; ?>.jpg" /></div></td>
        </tr>
      <tr>
        <td height="3" colspan="3" bgcolor="#333333"></td>
        </tr>
    </table></td>
    <td width="5" bgcolor="#f2ecdc">&nbsp;</td>
  </tr>
  <tr bgcolor="#f2ecdc">
    <td height="6" colspan="3"></td>
  </tr>
</table>

        
</body>
</html><?php
mysql_free_result($DetailRS1);
?>

Link para o comentário
Compartilhar em outros sites

  • 0

Esses códigos do Dreamweaver...

Bom, vou me prender a parte que interessa do código:

<td height="18"><img src="imagens/seta.jpg" width="10" height="10" />&nbsp;<a href="imagem.php?recordID=<?php echo $row_RS_main['numero']; ?>" target="mainFrame"><?php echo $row_RS_main['desc']; ?></a></td>

Ali no recordID sempre mostra o mesmo número? Pois isso dai passa o dado para a outra página, se ele sempre estiver com o mesmo número é claro que o problema estará por ai, mas se o número mudar conforme o caso, ai sim dá pra dizer que o problema é na outra página.

Link para o comentário
Compartilhar em outros sites

  • 0

Na verdade eu não entendi pra que o campo numero, se o campo id da mesma tabela for chave primária você deveria utilizar ele então...

De qualquer maneira, como o número muda, então o problema está na outra página

$query_DetailRS1 = "SELECT dados.id, dados.login, dados.nome, fotos.foto, fotos.desc, fotos.numero FROM dados INNER JOIN fotos ON dados.id = fotos.id  WHERE fotos.numero = '$recordID'";

Dei uma alterada na query da página imagem.php (não deveria interferir, mas...)

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --(!_Odisséa_!) --

Irmão, valeu o esforço.

Mas não estava conseguindo de maneira nenhuma. Ai eu comecei novamente e de vez fazer o numero como referencia, eu troquei e coloquei a ID de cada foto, então cada foto tem uma ID, e agora ta funcionando.

Valeu mesmo.

To abrindo outro post, pois tenho mais uma dúvida.

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,2k
    • Posts
      652,1k
×
×
  • Criar Novo...