Loko da Web Postado Janeiro 22, 2009 Denunciar Share Postado Janeiro 22, 2009 Boa tarde!Estou usando inner join pra duas tabelas(categorias e fotos)... Bem, na primeira pagina esta as categorias, na segunda pagina esta os filmes.- O que eu quero, é que na segunda pagina tenha o nome da categoria que esta na primeira pagina. Pra dar referencia da pagina em que esta.- Eu consegui mostrar o nome da categoria na segunda pagina, mas as fotos não consigo visualizar, fica dando esse erro:ADODB.Recordset error '800a0cc1' Item cannot be found in the collection corresponding to the requested name or ordinal. Meu select: SELECT * FROM fotos INNER JOIN categorias ON fotos.idcat = categorias.id WHERE idcat=" & idcat & " order by fotos.id, fotos.idcat desc Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Rafael Spilki Postado Janeiro 22, 2009 Denunciar Share Postado Janeiro 22, 2009 posta aqui o codigo completo... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Loko da Web Postado Janeiro 22, 2009 Autor Denunciar Share Postado Janeiro 22, 2009 (editado) posta aqui o codigo completo...Esta é a segunda pagina Editado Janeiro 22, 2009 por Loko da Web Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Loko da Web Postado Janeiro 22, 2009 Autor Denunciar Share Postado Janeiro 22, 2009 Precisa da outra pagina ?????? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jow Postado Janeiro 22, 2009 Denunciar Share Postado Janeiro 22, 2009 Posta a primeira página aí ...Na tabela de filmes você tem o id e o nome da categoria, um dos dois ou nenhum ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Loko da Web Postado Janeiro 22, 2009 Autor Denunciar Share Postado Janeiro 22, 2009 Posta a primeira página aí ...Na tabela de filmes você tem o id e o nome da categoria, um dos dois ou nenhum ?Não, na tabela dos filmes tenho o idcat, que é o id da categorias (aonde elas estao relacionadas)categoriasid - nome_cat fotos id - idcat - idstatus - foto - thumb - nome - nome_original - detalhe - diretor - elenco - duracao - pais - data_lancamento - ano - trailerUma coisa eu não entendi, fiz o inner join, na segunda pagina apareceu o nome da categoria,... mas quando foi imprimir o resultado da tabela fotos, deu aquele erro de cima. Muito esquisito. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jow Postado Janeiro 22, 2009 Denunciar Share Postado Janeiro 22, 2009 Só você tirar o order bySELECT * FROM fotos INNER JOIN categorias ON fotos.idcat = categorias.id WHERE idcat=" & idcat Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Loko da Web Postado Janeiro 23, 2009 Autor Denunciar Share Postado Janeiro 23, 2009 Só você tirar o order bySELECT * FROM fotos INNER JOIN categorias ON fotos.idcat = categorias.id WHERE idcat=" & idcatBah !!!! Não deu certo jow... continua dando o mesmo erro, o estranho é o nome da categoria apareceu, mas quando é pra mostrar os filmes que é de outra tabela, não funcionou... Muito esquisito. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jow Postado Janeiro 23, 2009 Denunciar Share Postado Janeiro 23, 2009 Bom estranho não é, tá acontecenfo o erro porque você está comparando apenas com a categoria por isso só mostra a categoria pra você matar esse erro faz assim:SELECT F.foto AS nome_foto, C.nome AS nome_categoria FROM fotos AS F INNER JOIN categorias AS C ON F.idcat = C.id WHERE F.idcat=" & idcat &" ou SELECT F.foto AS nome_foto, C.nome AS nome_categoria FROM fotos AS F INNER JOIN categorias AS C ON F.idcat = C.id WHERE F.idcat=" & idcateste é o nome da foto nome_fotoeste é o nome da categoria nome_categoriaisso deve funcionar desde q o campo idcat seja numérico Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Loko da Web Postado Janeiro 23, 2009 Autor Denunciar Share Postado Janeiro 23, 2009 Bom estranho não é, tá acontecenfo o erro porque você está comparando apenas com a categoria por isso só mostra a categoria pra você matar esse erro faz assim:SELECT F.foto AS nome_foto, C.nome AS nome_categoria FROM fotos AS F INNER JOIN categorias AS C ON F.idcat = C.id WHERE F.idcat=" & idcat &" ou SELECT F.foto AS nome_foto, C.nome AS nome_categoria FROM fotos AS F INNER JOIN categorias AS C ON F.idcat = C.id WHERE F.idcat=" & idcat este é o nome da foto nome_foto este é o nome da categoria nome_categoria isso deve funcionar desde q o campo idcat seja numérico Fiquei um pouco confuso, tentei adpatar, mas só da erro: Microsoft JET Database Engine error '80040e10' No value given for one or more required parameters. Se você puder me explicar o que siginifica aquele F e C, e na hora de dar o select nas colunas F.foto AS nome_foto, C.nome AS nome_categoria , porque é feita dessa maneira ????Se puder explicar, fica mais facil adpatar... Cara, você esta me ajudando um monte, agradeço de verdade !!!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jow Postado Janeiro 23, 2009 Denunciar Share Postado Janeiro 23, 2009 Seguinte eu "apelidei" as minhas tabelaschamei a minha tabela filmes de F, consequentemente para referenciar o seus campos eu uso F. A mesma coisa eu fiz para a tabela categoriae no nome da foto da tabela foto eu chamei de nome_foto O mesmo para o campo nome da table categorias. Resumindo é a mesma é quase a mesma coisa q você tinha feito, com diferença tirei o * e usei o nome dos campos, pois o * consome maior tempo tempo de resposta do BD, se precisar de mais campos basta inserir.Qd você for chamar o resultado do recordset só usarrs("nome_foto") rs("nome_categoria")Tenta resolver o seu problema caso não consiga posta exatamente como está o seu select que eu tento rodar aki no meu BD .... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Loko da Web Postado Janeiro 23, 2009 Autor Denunciar Share Postado Janeiro 23, 2009 jow, se você puder dar essa mao...É o seguinte:- Tenho duas tabelas (categorias e fotos)- Preciso exibir o nome da categoria (tabela categorias) junto com outros registros (tabela fotos)tabela: categoriasid - nome_cattabela: fotosid - idcat - thumb - nome - nome_original - detalhe - anoEsses são os campos que preciso exibir na minha pagina, meu select esta dessa maneira:SELECT * FROM fotos WHERE idcat=" & idcat & " order by data_lancamento descOs rs que deve ser exibido:tabela: categorias<%=rs("nome_cat")%>tabela: fotos<%=rs("id")%><%=rs("idcat")%><%=rs("thumb")%><%=rs("nome")%><%=rs("nome_original")%><%=rs("ano")%><%=rs("detalhe")%> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jow Postado Janeiro 25, 2009 Denunciar Share Postado Janeiro 25, 2009 Bom dia vamos lá vou imaginar um posivel cenário q você esteja montando.você tem uma página com as categorias o usuário clika, e vê a foto correspondente a essa categoria.pagina1.asp<% SQL="SELECT nome_cat AS nome, id_cat AS codigo FROM categorias" Set rs = cnn.execute(SQL) while rs.eof <a href="pagina2.asp?mostrar=<%=rs("codigo")%>"><%=rs("nome")%></a> rs.movenext wend %> pagina2.asp <% cat = request.querystring("mostrar") SQL = "SELECT F.foto AS nome_foto, C.nome AS nome_categoria FROM fotos AS F INNER JOIN categorias AS C ON F.idcat = C.id WHERE F.idcat=' " & cat & " ' AND C.id= ' " & cat & " ' Set rs = cnn.execute(SQL) response.write rs("nome_categoria") & "<br>" & rs("nome_foto") %>Cara eu não testei esse código fiz uma lógica aki, não sei se funcina mais a lógica é essa ... Se você não conseguir rodar ele dá uma debugada nesse código ai, certifique - se q a váriavel querystring está vindo o código da categoria, o q o sql tá trazendo ... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Loko da Web Postado Janeiro 25, 2009 Autor Denunciar Share Postado Janeiro 25, 2009 Bom dia vamos lá vou imaginar um posivel cenário q você esteja montando.você tem uma página com as categorias o usuário clika, e vê a foto correspondente a essa categoria.pagina1.asp<% SQL="SELECT nome_cat AS nome, id_cat AS codigo FROM categorias" Set rs = cnn.execute(SQL) while rs.eof <a href="pagina2.asp?mostrar=<%=rs("codigo")%>"><%=rs("nome")%></a> rs.movenext wend %> pagina2.asp <% cat = request.querystring("mostrar") SQL = "SELECT F.foto AS nome_foto, C.nome AS nome_categoria FROM fotos AS F INNER JOIN categorias AS C ON F.idcat = C.id WHERE F.idcat=' " & cat & " ' AND C.id= ' " & cat & " ' Set rs = cnn.execute(SQL) response.write rs("nome_categoria") & "<br>" & rs("nome_foto") %>Cara eu não testei esse código fiz uma lógica aki, não sei se funcina mais a lógica é essa ... Se você não conseguir rodar ele dá uma debugada nesse código ai, certifique - se q a váriavel querystring está vindo o código da categoria, o q o sql tá trazendo ...Putz,... agora sim deu certo !!!! Jow valeu pela ajuda cara, 5 stars pra você !!!!! :D Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Loko da Web
Boa tarde!
Estou usando inner join pra duas tabelas(categorias e fotos)... Bem, na primeira pagina esta as categorias, na segunda pagina esta os filmes.
- O que eu quero, é que na segunda pagina tenha o nome da categoria que esta na primeira pagina. Pra dar referencia da pagina em que esta.
- Eu consegui mostrar o nome da categoria na segunda pagina, mas as fotos não consigo visualizar, fica dando esse erro:
Meu select:Link para o comentário
Compartilhar em outros sites
13 respostass a esta questão
Posts Recomendados
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.