Jump to content


Photo

Select Em Tabelas Com Foreign Key


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

#1 Andreia Regina

Andreia Regina

    Veterano

  • Conselheiros
  • 1347 posts
  • Sexo:Feminino
  • Localidade:PR
  • Interesses:PHP; MySQL; Javascript; CSS; tudo ligado ao desenvolvimento web.

Posted 19/01/2006, 14:28

Olá Pessoal!

Estou tentando montar o seguinte select:

$id_cat = $_GET[id_categoria];
	
$sql = mysql_query("SELECT * FROM tb_galeria_img INNER JOIN tb_galeria_categ ON tb_galeria_img.id_categoria = tb_galeria_categ.id_categoria WHERE tb_galeria_img.id_categoria=$id_cat AND tb_galeria_categ.exibir='sim'  ORDER BY id_imagem DESC") or die (mysql_error());

pq eu preciso pegar a seleção de acordo com a categoria que o visitante optou.

Mas me retorna o seguinte erro:

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '; AND tb_galeria_categ.exibir='sim' ORDER BY id_imagem DESC' a

Já pesquisei e não encontrei nada parecido com o que eu preciso e tudo isso por causa da variavel.

#
# Estrutura da tabela `tb_galeria_categ`
#

CREATE TABLE `tb_galeria_categ` (
  `id_categoria` int(6) unsigned zerofill NOT NULL auto_increment,
  `categoria` varchar(55) NOT NULL default '',
  `descricao_cat` text NOT NULL,
  `criacao` date NOT NULL default '0000-00-00',
  `exibir` char(3) NOT NULL default '',
  `edicao` date default NULL,
  PRIMARY KEY  (`id_categoria`),
  KEY `categoria` (`categoria`)
) TYPE=InnoDB COMMENT='Galeria de Imagens - Tabela: Categorias' AUTO_INCREMENT=7;

#
# Estrutura da tabela `tb_galeria_img`
#

CREATE TABLE `tb_galeria_img` (
  `id_imagem` int(10) unsigned zerofill NOT NULL auto_increment,
  `id_categoria` int(6) unsigned zerofill NOT NULL default '000000',
  `imagem` varchar(30) NOT NULL default '',
  `img_mini` varchar(35) NOT NULL default '',
  `exibir` char(3) NOT NULL default '',
  `publicacao` date NOT NULL default '0000-00-00',
  `edicao` date NOT NULL default '0000-00-00',
  PRIMARY KEY  (`id_imagem`,`id_categoria`),
  KEY `id_categoria` (`id_categoria`),
  CONSTRAINT `id_categoria` FOREIGN KEY (`id_categoria`) REFERENCES `tb_galeria_categ` (`id_categoria`)
) TYPE=InnoDB COMMENT='Galerias de Imagens -  Tabela: Imagens' AUTO_INCREMENT=14;

Espero que possam me ajudar!

Obrigada

Fórum WMO - Conselheira - Na equipe desde 31/01/2006.
Links importantes: Regras de conduta - Busca do fórum


#2 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 19/01/2006, 15:04

não sei não + e dúvida de SQL e não PHP + vamos resolver este seu problema :P

Não sou expert em SQL + tenho um pouco de noção, assim pelo que entendi ele esta falando: "Check the manual that corresponds to your MySQL server version for the right syntax to use near " ( tradução meia boca: "Cheque o manual correspondente a sua versão do MYSQL para ... ( sou muito ruim em ingles :P " ) '; AND tb_galeria_categ.exibir='sim' ORDER BY id_imagem DESC' a "

Para estar 'tavles' resolvendo o seu problema teste este código abaixo:

$id_cat = $_GET[id_categoria];

$sql = mysql_query("SELECT * FROM tb_galeria_img INNER JOIN tb_galeria_categ ON tb_galeria_img.id_categoria = tb_galeria_categ.id_categoria WHERE tb_galeria_img.id_categoria='{$id_cat}' AND tb_galeria_categ.exibir='sim'  ORDER BY id_imagem DESC") or die (mysql_error());


coloquei em negrito o que modifiquei

T+

Edição feita por: Goku Jr, 19/01/2006, 15:09.

-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951

#3 ViM

ViM

    Turista

  • Usuários
  • 51 posts
  • Sexo:Não informado
  • Localidade:SJC / SP

Posted 19/01/2006, 17:21

Cara nao é isso não... é que no ORDER BY ela nao especificou a tabela que ela quer puxar o id_imagem...
tipo ORDER BY tabela.id_imagem

Falow

#4 gonacts

gonacts

    "Agora eu tb tenho um Tux..." =D

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

Posted 19/01/2006, 17:39

ja q estamos aki, huahauhauhu....nunca usei esse INNER ai...poderia me explicar?
sei q nqo estamos no ocal certo, mas ja q estamos aki neh..heheheh
"Ninguém é tão inteligente que não possa aprender e ninguém é tão burro que não possa ensinar.."
"As dúvidas engrandecem nossa sabedoria, mas não basta somente tirá-las, temos que entendê-las"

#5 victorpfm

victorpfm

    Expert

  • Usuários
  • 566 posts
  • Sexo:Masculino

Posted 19/01/2006, 21:10

http://dev.mysql.com....1/pt/join.html

#6 Andreia Regina

Andreia Regina

    Veterano

  • Conselheiros
  • 1347 posts
  • Sexo:Feminino
  • Localidade:PR
  • Interesses:PHP; MySQL; Javascript; CSS; tudo ligado ao desenvolvimento web.

Posted 20/01/2006, 08:15

Bom dia!

Obrigada Goku Jr era isso mesmo :)

Ah! E pessoal me desculpem se postei no lugar errado, mas não vi um forum para mysql, talvez por eu estar ansiosa para terminar este trabalho. :rolleyes:

Obrigada a todos :)

Fórum WMO - Conselheira - Na equipe desde 31/01/2006.
Links importantes: Regras de conduta - Busca do fórum


#7 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 20/01/2006, 08:21

^^' de nada (y)
-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951




0 user(s) are reading this topic

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

IPB Skin By Virteq