Relacionar tabelas
12/11/2013
0
Numa tabela de produto (item) eu cadastro uma foto principal
TABELA ITEM
produto
foto
tipo
data_cadastro
descricao
condicao
quantidade
preco
seuemail
id_login
por
cliques
TABELA FOTOITEM
itemid
foto
descfoto
id_login
por
eu chamo o produto nesse código:
mostra_item.php
<?php function convertem($term, $tp) { if ($tp == "1") $palavra = strtr(strtoupper($term),"àáâãäåæçèéêëìíîïðñòóôõö÷øùüúþÿ","ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÜÚÞß"); elseif ($tp == "0") $palavra = strtr(strtolower($term),"ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÜÚÞß","àáâãäåæçèéêëìíîïðñòóôõö÷øùüúþÿ"); return $palavra; } $recupera = $_GET[''itemid'']; $item = mysql_query("SELECT * FROM item WHERE `itemid` = ''$recupera''") or die(mysql_error()); if(@mysql_num_rows($item) == ''0''){ echo "Nenhum produto cadastrado, seja o primeiro!"; }else{ while($mostra_item=mysql_fetch_array($item)) { $id = $mostra_item["itemid"]; $produto = $mostra_item["produto"]; $foto = $mostra_item["foto"]; $tipo = $mostra_item["tipo"]; $data = $mostra_item["data_cadastro"]; $usumail = $mostra_item["seuemail"]; $descricao = $mostra_item["descricao"]; $preco = $mostra_item["preco"]; $qtd = $mostra_item["quantidade"]; $condic = $mostra_item["condicao"]; $por = $mostra_item["por"]; ?> <div id="formularios"> <div id="cont_item"> <div class="titproduto"><div class="titprod"><h2><?php echo strtoupper("$produto"); ?></h2></div><div class="btnprod"></div></div> <img src="produtos/<?php echo $foto; ?>" border="0" width="100%"/> <div class="blocodesc"> <span class="itemdesc"><span class="itemdesctit">PRODUTO</span><br> <?php if ($condic == "NOVO"){ echo "<img src=\"img/ico-novo.png\"/>"; }elseif ($condic == "USADO"){ echo "<img src=\"img/ico-usado.png\"/>"; }elseif ($condic == "SEMI-NOVO"){ echo "<img src=\"img/ico-snovo.png\"/>"; }elseif ($condic == "DEFEITO"){ echo "<img src=\"img/ico-defeito.png\"/>"; } ?> </span> <span class="itemdesc"><span class="itemdesctit">PREÇO</span><br><br><?php echo $preco?></span> <span class="itemdesc"><span class="itemdesctit">CATEGORIA</span><br><br><?php echo strtoupper("$tipo"); ?></span> <span class="itemdesc"><span class="itemdesctit">POR</span><br><br><?php echo $por; ?></strong></span> <div id="like"> <div id="fb-root"></div> <script src="http://connect.facebook.net/pt_BR/all.js#appId=169279313141006&xfbml=1"></script> <script language="JavaScript" type="text/javascript"> var endereco=(location.href) document.write(''<fb:like href="''+endereco+''" send="true" layout="button_count" width="450" show_faces="true" font="arial"></fb:like>''); </script> </div> </div><!--fim bloco desc--> <br> <?php echo $descricao; ?> <br> POSTADO EM</span><br><?php echo date(''d/m/Y'', strtotime($mostra_item[''data_cadastro''])); ?> <?php } } ?> </div><!--fim div cont item-->
quero que mostre onde ta mostrando a imagem principal as outras imagens cadastradas na tabela fotoitem, percebam que nas duas tabelas tem o campo itemid, na tabela ITEM é uma int chave primaria e na tabela FOTOITEM é um char q resgata o id da tabela ITEM
Espero q tem entendido, aguardo resposta e desde já agradeço.
Agora acho q dá pra vcs entenderem ou eu, pode ser q eu não esteja entendendo a explicação dos mais sábios aí. Obrigado
Werdeson Silva
Posts
12/11/2013
Claudio Lopes
Fato é vc tem uma tabela A e uma tabela B, entre essas tabela existem um campo em comum que é o iditem certo?
Não seria melhor você fazer esse relacionamento na query?
tipo
Select * from item as A left join foto_item as B on a.iditem = b.iditem
Assim vc pegaria o resultado via GET e traz para a condição.
Dica: use CRUD, é muito melhor e você escreve muito menos, qualquer coisa posta ai
13/11/2013
Werdeson Silva
13/11/2013
Claudio Lopes
a tabela item possui: chinelos
a tabela foto_item posui foto1, foto2, foto3
na query que eu te mandei( levando em conta que voce tenha apenas um item(produto) o resultado será:
chinelo, foto1
chiinelo, foto2
chinelo , foto3
Creio que você queira listar todas as fotos, então no seu mysql_query, irá te retornar um array com as essas informações, faz um forech e você consegue pegar os dados
13/11/2013
Werdeson Silva
13/11/2013
Werdeson Silva
<?php function convertem($term, $tp) { if ($tp == "1") $palavra = strtr(strtoupper($term),"àáâãäåæçèéêëìíîïðñòóôõö÷øùüúþÿ","ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÜÚÞß"); elseif ($tp == "0") $palavra = strtr(strtolower($term),"ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÜÚÞß","àáâãäåæçèéêëìíîïðñòóôõö÷øùüúþÿ"); return $palavra; } $recupera = $_GET['itemid']; $item = mysql_query("SELECT * from item as A left join fotoitem as B on a.iditem = b.iditem WHERE `itemid` = '$recupera'") or die(mysql_error()); if(@mysql_num_rows($item) == '0'){ echo "Nenhum produto cadastrado, seja o primeiro!"; }else{ while($mostra_item=mysql_fetch_array($item)) { $id = $mostra_item["itemid"]; $produto = $mostra_item["produto"]; $foto = $mostra_item["foto"]; $tipo = $mostra_item["tipo"]; $data = $mostra_item["data_cadastro"]; $usumail = $mostra_item["seuemail"]; $descricao = $mostra_item["descricao"]; $preco = $mostra_item["preco"]; $qtd = $mostra_item["quantidade"]; $condic = $mostra_item["condicao"]; $por = $mostra_item["por"]; ?> <div id="formularios"> <div id="cont_item"> <div class="titproduto"><div class="titprod"><h2><?php echo strtoupper("$produto"); ?></h2></div><div class="btnprod"></div></div> <img src="produtos/<?php echo $foto; ?>" border="0" width="100%"/> <div class="blocodesc"> <span class="itemdesc"><span class="itemdesctit">PRODUTO</span><br> <?php if ($condic == "NOVO"){ echo "<img src=\"img/ico-novo.png\"/>"; }elseif ($condic == "USADO"){ echo "<img src=\"img/ico-usado.png\"/>"; }elseif ($condic == "SEMI-NOVO"){ echo "<img src=\"img/ico-snovo.png\"/>"; }elseif ($condic == "DEFEITO"){ echo "<img src=\"img/ico-defeito.png\"/>"; } ?> </span> <span class="itemdesc"><span class="itemdesctit">PREÇO</span><br><br><?php echo $preco?></span> <span class="itemdesc"><span class="itemdesctit">CATEGORIA</span><br><br><?php echo strtoupper("$tipo"); ?></span> <span class="itemdesc"><span class="itemdesctit">POR</span><br><br><?php echo $por; ?></strong></span> <div id="like"> <div id="fb-root"></div> <script src="http://connect.facebook.net/pt_BR/all.js#appId=169279313141006&xfbml=1"></script> <script language="JavaScript" type="text/javascript"> var endereco=(location.href) document.write('<fb:like href="'+endereco+'" send="true" layout="button_count" width="450" show_faces="true" font="arial"></fb:like>'); </script> </div> </div><!--fim bloco desc--> <br> <?php echo $descricao; ?> <br> POSTADO EM</span><br><?php echo date('d/m/Y', strtotime($mostra_item['data_cadastro'])); ?> <?php } } ?> </div><!--fim div cont item-->
Dá erro na página, aparece isso aqui: Column 'itemid' in where clause is ambiguous
13/11/2013
Claudio Lopes
na query que eu te mandei, substitua o * pelo nome dos campos que deseja, tipo a.campo, b.campo....
13/11/2013
Werdeson Silva
13/11/2013
Claudio Lopes
14/11/2013
Claudio Lopes
https://www.devmedia.com.br/criando-um-projeto-de-banco-de-dados/28740
Clique aqui para fazer login e interagir na Comunidade :)