Ir para conteúdo

POWERED BY:

Arquivado

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

ricardo coelho designer

Mostrar dados de duas tabelas

Recommended Posts

Boa tarde estou tentando pegar dados de duas tabelas no bd e não estou conseguindo, estou tentando deixar mais ou menos assim.

 

Home | Quem Somos | Contato (tabela 1)

- h1 | - q1 | - c1 (tabela 2 mostra os nome refente a cada coluna)

- h2 | - q2 | - c2

| - q3 | - c3

| | - c4

 

Abaixo deixo o código que estou usando.

 

<table border=1>
<%Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\inetpub\wwwroot\Reply\dados\dados_reply.mdb"
Set RS            = Server.CreateObject("ADODB.Recordset")
rs.CursorType     = 0
rs.CursorLocation = 3
rs.LockType       = 3
SQLStmt           = "SELECT * FROM menusite where liberar = true order by ordem asc"
RS.Open SQLstmt,Conn%>
<%If rs.Eof Then%>
<%else %><tr class="menu">
<%While Not RS.EOF %>
<td><a href="<%=rs("pagina")%>" class="parent"><span><b><%=rs("titulo")%></b></span></a></td>
<%titulosite = rs("titulo")%>


<%Set RS1          = Server.CreateObject("ADODB.Recordset")
rs1.CursorType     = 0
rs1.CursorLocation = 3
rs1.LockType       = 3
SQLStmt           = "SELECT * FROM segmento where menusite = '"&titulosite&"' order by id_seg asc"
RS1.Open SQLstmt,Conn%>
<%If rs1.Eof Then%>
<%else%> </tr> <tr>
<%While Not RS1.EOF %>
<td><a href="quemsomos.asp?seg=<%=rs1("links")%>&tittropagina=<%=RS1 ("segmento")%>&id=<%=RS1 ("id_seg")%>">
<%If segmento = rs1("links") Then%>
- <%=rs1("segmento")%>
<%id_seg = Cint (RS1 ("id_seg"))%>
<%else%>
- <%=rs1("segmento")%>
<%end if%>
</a></td>
<%RS1.MoveNext
Wend
RS1.close
end if%>
</tr>
<%RS.MoveNext
Wend
RS.close
end if%>
</table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!

Meu questionamento é porque não colocar tudo em uma só tabela?

 

Mas se por necessidade tiver de ficar em tabelas separadas acredito qeu deveria colocar uma chave de identificação para associar os registros. Você esta usando um registro que você usa para exibição para fazer filtro da segunda tabela. Pode ocorrer erros de sintaxe na filtragem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!

Meu questionamento é porque não colocar tudo em uma só tabela?

 

Mas se por necessidade tiver de ficar em tabelas separadas acredito qeu deveria colocar uma chave de identificação para associar os registros. Você esta usando um registro que você usa para exibição para fazer filtro da segunda tabela. Pode ocorrer erros de sintaxe na filtragem.

 

Boa noite, na verdade é um menu com submenu, para que possa entender melhor vou usar esse menu no rodapé da página conforme link do site que estou desenvolvendo http://www.midiadigitalsim.com.br/reply/contato.asp, preciso disso urgente pois preciso entregar esse site na segunda feira sem falta.

 

Pois estou quebrando a cabeça.

 

Pessoal agora fiz assim mas ainda nada, se alguém tiver alguma idéia do que está errado, agradeço, estou atrasado com esse job.

 

Enquanto isso vou tentando.

 

Pessoal agora fiz assim mas ainda nada, se algum tiver alguma luz ai vai ajudar bastante.

 

<table border=1>
<%Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\inetpub\wwwroot\job\Reply\dados\dados_reply.mdb"
Set RS            = Server.CreateObject("ADODB.Recordset")
rs.CursorType     = 0
rs.CursorLocation = 3
rs.LockType       = 3
SQLStmt           = "SELECT * FROM menusite where liberar = true order by ordem asc"
RS.Open SQLstmt,Conn%>
<%If rs.Eof Then%>
<%else %>
<%While Not RS.EOF %>
<tr class="menu"><td><a href="<%=rs("pagina")%>" class="parent"><font size="1" face="tahoma"><b><%=rs("titulo")%></b></font></a></td>
<%titulosite = rs("titulo")%>
</tr><tr>

<%Set RS1          = Server.CreateObject("ADODB.Recordset")
rs1.CursorType     = 0
rs1.CursorLocation = 3
rs1.LockType       = 3
SQLStmt           = "SELECT * FROM segmento where menusite = '"&titulosite&"' order by id_seg asc"
RS1.Open SQLstmt,Conn%>
<%If rs1.Eof Then%>
<%else%>
<%While Not RS1.EOF %>
<td><a href="quemsomos.asp?seg=<%=rs1("links")%>&tittropagina=<%=RS1 ("segmento")%>&id=<%=RS1 ("id_seg")%>"><%=rs1("segmento")%></a></td>
<%RS1.MoveNext
Wend
RS1.close
end if%>
</tr>
<%RS.MoveNext
Wend
RS.close
end if%>
</table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

você precisa ter um relacionamento entre as tabelas, na verdade, a impôrtancia de uma modelagem de dados bem definida até os mínimos detalhes, como os campos de relacionamentos, um velho ditado diz, que um relacionamento bem definido é a alma do aplicativo, pois daí saem todas as consultas e operações com o banco, influenciando diretamente na otimização e performance do aplicativo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal agradeço ai pelos toques, e vou seguir os conselhos com certeza, mas ainda não consegui deixar dos dados naquela disposição que link que mandei, se alguém tiver alguma saída, sei que é somente a disposição das tags html mas não consigo encontrar a solução, bom vou tentando...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal a única coisa que consegui foi fazer somente 2 coluna, sendo que o código gera 7 colunas com seus subgrupos, abaixo o código

 

<table border=1>   <tr>
<%Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\inetpub\wwwroot\job\Reply\dados\dados_reply.mdb"
Set RS            = Server.CreateObject("ADODB.Recordset")
rs.CursorType     = 0
rs.CursorLocation = 3
rs.LockType       = 3
SQLStmt           = "SELECT * FROM menusite where liberar = true order by ordem asc"
RS.Open SQLstmt,Conn
If rs.Eof Then%>
<%else %>
<%While Not RS.EOF %>

<%'for i=1 to 7%>
<td><a href="<%=rs("pagina")%>" class="parent"><font size="1" face="tahoma"><b><%=rs("titulo")%></b></font></a></td>
<%'next      %>
<%titulosite = rs("titulo")%>

<%Set RS1          = Server.CreateObject("ADODB.Recordset")
rs1.CursorType     = 0
rs1.CursorLocation = 3
rs1.LockType       = 3
SQLStmt           = "SELECT * FROM segmento where menusite = '"&titulosite&"' order by id_seg asc"
RS1.Open SQLstmt,Conn%>
<%If rs1.Eof Then%>
<%else%>
<%While Not RS1.EOF %>
<tr><td><%=rs1("segmento")%></td> </tr>
<%RS1.MoveNext
Wend
RS1.close
end if%>

<%RS.MoveNext
Wend
RS.close
end if%>
</table>

 

Pessoal preciso entregar esse projeto amanhã, será que ninguém tem essa solução, sei que pra mim está dificil mas acredito que alguém aí tenha algo parecido para me ajudar, se alguém tiver algo por favor me ajudem.

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.