Jump to content


Photo

Banco De Dados


  • Faça o login para participar
8 replies to this topic

#1 robertocm

robertocm

    Novato no fórum

  • Usuários
  • 9 posts
  • Sexo:Não informado

Posted 19/11/2003, 17:53

[/B][COLOR=red]Gostaria de fazer um link de tabelas. E o seguinte gostaria de fazer uma linkaguem de tabelas. por exemplo: gostaria de fazer o seguinte link. tenho uma tabela chamada produtos, e tenho uma outra chamada categorias; gostaria que a tabela categoria estivesse inserida dentro da de produtos. Assim quando a pessoa chamar a produtos ja vem as categorias. Alguem pode me ajudar nisso. Obrigado.[B]

#2 Stormbringer

Stormbringer

    I'd love to stay with you all

  • Ex-Admins
  • 2927 posts
  • Sexo:Não informado
  • Localidade:Goiânia - GO
  • Interesses:Atualmente: pesquisa e desenvolvimento de web-games

Posted 19/11/2003, 17:59

vamos supor que a tabela produtos tenha um campo chamado id_categoria, que tb existe na tabela categorias e é chave primaria e unica

é atravez desse campo que vamos interligar as duas.


select p.cod, p.produto, p.id_categoria, p.preco from categoria as c, produto as p where p.id_categoria=c.id_categoria;

voilà

espero que ajude

Edição feita por: Stormbringer, 19/11/2003, 18:00.

๑۩۞۩๑Let the Carnage Begin!!๑۩۞۩๑


#3 teste24

teste24

    Novato no fórum

  • Usuários
  • 4 posts
  • Sexo:Não informado

Posted 24/11/2003, 20:45

vamos supor que a tabela produtos tenha um campo chamado id_categoria, que tb existe na tabela categorias e é chave primaria e unica

é atravez desse campo que vamos interligar as duas.


select p.cod, p.produto, p.id_categoria, p.preco from categoria as c, produto as p where p.id_categoria=c.id_categoria;

voilà

espero que ajude


po tá meio confuso com sua explicação, q isso aí cara,
tó tentando fazer isso mas tá dificil

eu tenho a tabela clientes ( tbl_dados_clientes ) e a tabela cidade ( tbl_cidade )

olha só isso:

tbl_dados_clientes
idc_cidade (recebe o id da cidade)

---

tbl_cidade
nome_cidade (nome da cidade)

-------
ele tem que substituir o idc_cidade pelo nome_cidade
Exemplo: em vez de mostrar 2 ele mostra Curitiba

-------------

eu fiz assim só que ele dá erro

$query_Recordset1 = "SELECT * FROM tbl_dados_clientes, tbl_cidade WHERE tbl_dados_clientes.idc_cidade = tbl_cidade.nome_cidade";


Edição feita por: teste24, 24/11/2003, 21:03.


#4 teste24

teste24

    Novato no fórum

  • Usuários
  • 4 posts
  • Sexo:Não informado

Posted 24/11/2003, 21:02

$query_Recordset1 = "SELECT * FROM tbl_dados_clientes AS tbl_cidade, tbl_dados_clientes WHERE nome_cidade = idc_cidade";


aparece o seguinte erro:
Unknown column 'nome_cidade' in 'where clause'

já tentei de diversas maneiras mas da erro ou nao acontece nada

#5 Web Developer

Web Developer

    12 Horas

  • Usuários
  • 283 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre - RS
  • Interesses:Desenvolvimento Web.

Posted 24/11/2003, 22:16

O erro mostra "Coluna desconhecida", provavelmente essa coluna não existe, ou está com o nome errado! :D
PHP não é coisa pra muleque!

#6 teste24

teste24

    Novato no fórum

  • Usuários
  • 4 posts
  • Sexo:Não informado

Posted 24/11/2003, 22:27

O erro mostra "Coluna desconhecida", provavelmente essa coluna não existe, ou está com o nome errado! :D


eu coloquei o nome certo

fui no phpMyAdmin selecionei o nome e copiei e depois colei (ctrl C - ctrl V)

#7 teste24

teste24

    Novato no fórum

  • Usuários
  • 4 posts
  • Sexo:Não informado

Posted 25/11/2003, 14:53

não é possivel que ninguem aqui tenha feito isso já! :angry:

ninguem vai me ajudar então?

tó tentando aprender, tento me esforçar mas tá dificil :huh:

coloquem um exemplo real aí, com um código que funciona por favor

#8 Guest

Guest
  • Visitantes

Posted 25/11/2003, 15:07

calma meu... desde jeito ninguem vai te ajudar .... niguem aqui e escravo.. coloca o script ou reponde sua duvida se quiser !!!

nesse Copiar o nome verifica se num tem espaço em branco !!!

#9 Stormbringer

Stormbringer

    I'd love to stay with you all

  • Ex-Admins
  • 2927 posts
  • Sexo:Não informado
  • Localidade:Goiânia - GO
  • Interesses:Atualmente: pesquisa e desenvolvimento de web-games

Posted 25/11/2003, 15:12

mano seguinte... primeiro vc fez isso aqui:

$query_Recordset1 = "SELECT * FROM tbl_dados_clientes, tbl_cidade WHERE tbl_dados_clientes.idc_cidade = tbl_cidade.nome_cidade";

bom, analisa o que vc vez:
selecione tudo da tbl_dados_clientes, da tbl_cidade apenas onde o campo idc_cidade da tabela tbl_dados_clientes for igual ao campo nome_cidade da tabela tbl_cidade


bom, pelo que vc disse, idc_cidade tem um numero e nome_cidade suponho que seja uma string...

se vc esta selecionando só onde idc_cidade=nome_cidade nunca vai te devolver NADA porque 2 nao é igual a "Curitiba"

pois bem, pra fazer um relacionamento inteligente vc deve fazer 2 tabelas mais ou menos assim:


tabela cidades:
campo 1 : cod (int, smallint, float ou qqer numerico)
campo 2 : nome_cidade (char, varchar ou congeneres)

tabela clientes:
campo 1: cliente (char, varchar ou congeneres)
campo 2: cod_cidade (int, smallint, float ou qqer numerico)


aih o relacionamento fica assim(tudo em azul é opcional, mas aumenta a performance da query)

select * from cidades as c, clientes as cl where cl.cod_cidade=c.cod and cl.cliente = "Stormbringer";


bem, suponha que vc tenha registrado o cliente Stormbringer assim
cliente = "Stormbringer"
cod_cidade = 1

e a sua tabela cidade esteja com o registro de codigo 1 assim:
cod = 1
nome_cidade = "Sao Paulo"


entao a consulta vai te devolver o seguinte:

cod = 1
nome_cidade = "Sao Paulo"
nome = "Stormbringer"
cod_cidade = 1


porque agora, vc linkando as 2 tabelas pelo cod_cidade e cod, ambos sao numericos...


editando: e esse é um relacionamento simpels entre 2 tabelas... imagina quando vc precisar relacionar 5,6 ou 7 tabelas ao emsmo tempo! Sempre analise a query que vc ta fazendo... pq comparar campos de tipos diferentes nunca vai dar certo...

Edição feita por: Stormbringer, 25/11/2003, 15:19.

๑۩۞۩๑Let the Carnage Begin!!๑۩۞۩๑





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq