Jump to content

Recommended Posts

Posted

Boa noite,

tenho um pequeno problema que é eu tenho uma tabela produtos onde ai gravo as informações do produto só que um dos campos está ligado á outra tabela que é o tipo produtos, onde ai tenho os tipos de produtos que tenho no site, e ela está ligada á tabela produto pelo o id_tipo, ao apresentar na página como posso converter em vez de apresentar o id_tipo apresentar o tipo_produto?

eu acho que tenho que fazer o JOIN mas não sei muito bem como aplicar.

Posted

http://www.w3schools.com/sql/sql_join.asp

Sera qualquer coisa como

select ..., tipo_produto, ...
from produtos inner join
    tipo_produtos on produtos.id_tipo = tipo_produtos.id_tipo
order by ...

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Posted (edited)

sim isso eu sei mas é a variável $id_tipo só?

Se copiaste o valor da base de dados para la, sim

echo $id_tipo;

Se nao copiaste, imprime um elemento do resultado do *_fetch_*

Se publicares o teu codigo, fica mais facil ajudar-te.

Edited by pmg

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Posted

eu tenho este código :

   <?php
  if (@mysql_num_rows($resultado) == 0) {
 echo '<div class="info"> Não existem registos</div>';
  } else {
   ?>
  <p> </p>
  <table width="100%" border="1" class="Design5">
<tr>
  <th width="10%">ID Pedidos</th>
  <th width="10%">ID Produto</th>
  <th width="10%">ID Utilizador</th>
  <th width="10%">Modelo</th>
  <th width="10%">Marca</th>
  <th width="10%">Data do Pedido</th>
  <th width="10%">Preço</th>
  <th width="10%">Descrição</th>
  <th width="10%">QTD</th>
  <th width="10%">ID Tipo</th>
  <th width="10%">Opções</th>
  </tr>
 <?php
while ($res = mysql_fetch_array($resultado)) {
 extract($res);
 echo '<tr>';
  echo'<td>'.$id_pedidos.'</td>';
  echo'<td>'.$id_produto.'</td>';
$query = 'SELECT id_utilizador.pd, id_utilizador.ut, utilizador 
   FROM utilizadores
   INNER JOIN utilizadores ON id_utilizador.pd = id_utilizador.ut';	  

  echo '<td>'.$id_utilizador.'</td>';
  echo '<td>'.$modelo.'</td>';
  echo '<td>'.$marca.'</td>';
  echo '<td>'.$data_pedido.'</td>';
  echo '<td>'.$preco.'</td>';
  echo '<td>'.$descricao.'</td>';
  echo '<td>'.$qtd.'</td>';
  echo '<td>'.$id_tipo.'</td>';
  echo '<td>';
  echo '<a href="eliminar_pedido.php?uid='.$id_pedidos.'"><img src="images/delete.png" alt="eliminar" style="width:16px;height:16px;margin-left:5px;" /></a>';
  echo '</td>';
  echo '</tr>';
 }
  }
echo '</table>';
 ?>

este código é para mostrar o cliente mas é igual ao tipo produto,

e eu antes de imprimir o id_utilizador pus aquele SELECT, está certo? é que se ponho assim e depois na coluna ponho $id_utilizador mostra outra vez o ID

Posted

Se, em vez de atribuires o segundo select a $query, o atribuires a $passarinho

esperavas alguma diferenca?

Tens de integrar o JOIN no teu query actual para que o *_fetch_* (que ja esta no while) va buscar os dados que precisas.

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Posted

eu ja fiz o que disseste e eu pus o código assim :

$sql = "SELECT id_pedidos, id_produto,  id_utilizador.pd, id_utilizador.ut, utilizador, modelo, marca, data_pedido, preco, descricao, qtd,   id_tipo  FROM pedidos.pd
INNER JOIN utilizadores ON id_utilizador.pd = id_utilizador.ut";
$resultado = mysql_query($sql,$db) or die (mysql_error());

só que ele dá erro mostra isto:

SELECT command denied to user 'adminsite'@'localhost' for table 'pd'

Posted

eu ja fiz o que disseste e eu pus o código assim :

$sql = "SELECT id_pedidos, id_produto,  id_utilizador.pd, id_utilizador.ut, utilizador, modelo, marca, data_pedido, preco, descricao, qtd,   id_tipo  FROM pedidos.pd
INNER JOIN utilizadores ON id_utilizador.pd = id_utilizador.ut";
$resultado = mysql_query($sql,$db) or die (mysql_error());

Xiii, que confusao.

Quando se mistura uma tabela e uma coluna num select, a sintaxe é tabela.coluna. Aparentemente estas a tentar com o oposto.

O que é a tabela "pedidos.pd"?

Experimenta assim (nao testado!!)

$sql = <<<SQL_TEST
SELECT pedidos.id_pedidos, pedidos.id_produto, pedidos.id_utilizador
    , utilizadores.id_utilizador, utilizadores.utilizador
    , pedidos.modelo, pedidos.marca, pedidos.data_pedido
    , pedidos.preco, pedidos.descricao, pedidos.qtd, pedidos.id_tipo
FROM       pedidos
INNER JOIN utilizadores ON pedidos.id_utilizador = utilizadores.id_utilizador
SQL_TEST;
$resultado = mysql_query($sql,$db) or die (mysql_error());

SELECT command denied to user 'adminsite'@'localhost' for table 'pd'

Aparentemente ou tens um problema de permissoes ou a tabela 'pd' esta mal especificada.

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Posted

já está a dar muito obrigado mas uma pequena duvida mas não tem haver com isto eu numa página tenho o carrinho onde estao os produtos que o cliente inseriu no carrinho , está todo a funcionar mas o que eu queria era que ao finalizar a comprar ele limpasse tudo que estivesse na tabela como posso fazer isso?

Posted

Para limpar a tabela completamente, podes usar a instrucao TRUNCATE.

truncate table carrinho

Se preferires uma limpeza mais pequenina, usa DELETE.

delete from carrinho where owner = 4

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.