Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) [AJUDA] Criar lista com 2 tabelas


manogaucho

Pergunta

Tudo bem!

Assim tenho um sistema rodando, eu modifiquei um pouco ele, para torna-lo adaptável para uma amiga, mas agora estou precisando criar uma lista para mostrar certos produtos, mas to quebrando a cabeça e bem perdido, vamos lá vou tentar explicar.

Neste Link abaixo aparece uma lista com vários produtos com nomes e preços:

Veja aqui o Link

Assim, veja a figura abaixo:

veja_01.jpg

Nos itens com a fecha vermelha, aparece o resultado da tabela SS_categories e os resultados da fecha azul aparece o resultado da tabela SS_products .

Mas queria montar uma função que mostrasse apenas os resultados da tabela SS_categories, que só tivesse na tabela SS_products o campo “product_code “ preenchido com o valor 01.tambem teria que aparecer o campo name e o Price da mesma tabela, como mostra a figura acima.

Fiz alguma coisa nesse código abaixo.

<?

$conexao = mysql_connect("host","nome usuario","senha");

$bd = mysql_select_db("nome banco", $conexao) or die ("Não foi possível selecionar o Banco de dados.");

$sql = "SELECT * FROM SS_products WHERE product_code = '01'";

$resultado = mysql_query($sql, $conexao) or die ("Não foi possível executar a consulta");

echo "<TABLE BORDER=1>

<TR><TH>Nome Produto</TH> <TH>Valor</TH>";

while ($linha = mysql_fetch_array($resultado)) {

$id_item = $linha["name"];

$titulo_item = $linha["Price"];

echo "<TR><TD>$id_item</TD>

<TD>$titulo_item</TD></TR>";

}

echo "</TABLE>";

?>

Esse código que fiz, só aparece o resultado da tabela SS_products, com os campos “name” e ”Price”, que são preenchidos com 01 do campo product_code. Assim falta aparecer o nome que esta na tabela SS_categories ( Fecha Vermelha - imagem acima ).Não sei se me fiz entender , abaixo esta o link da função que fiz acima.

Veja o Codigo acima, rodando aqui

Agradeço desde já a ajuda!!!

Editado por manogaucho
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

nas duas tabelas existe algum campo igual? Se tiver algum campo igual, da pra fazer uma junção delas.

Entendeu, precisa existir um campo IGUAL nas duas tabelas, para fazera a ligação entre eles. Ai da pra usar o INNER JOIN.

Me mostra os campos das tabelas.

Editado por Marko Neto
Link para o comentário
Compartilhar em outros sites

  • 0
nas duas tabelas existe algum campo igual? Se tiver algum campo igual, da pra fazer uma junção delas.

Entendeu, precisa existir um campo IGUAL nas duas tabelas, para fazera a ligação entre eles. Ai da pra usar o INNER JOIN.

Me mostra os campos das tabelas.

Primeiro Obrigado pela ajuda. Sim existe uma tabela iguais, é a tabela " categoryID ", abaixo esta a lista das tabela e seus campos, lembarndo que somente o campo " categoryID " é igual ou o mesmo das duas tabelas.

Tabela > SS_categories

Campos Abaixo:

categoryID ( Este campo é o mesmo entre as duas tabelas )

name

parent

products_count

description

picture

products_count_admin

Tabela > SS_products

Campos Abaixo:

productID

categoryID ( Este campo é o mesmo entre as duas tabelas )

name

description

customers_rating

Price

picture

in_stock

thumbnail

customer_votes

items_sold

big_picture

enabled

brief_description

list_price

product_code

Link para o comentário
Compartilhar em outros sites

  • 0

Fiz alguma coisa mas , não funcionou:

<?
$conexao = mysql_connect("xxxxxxxxxx","xxxxxxxx","xxxxxxxxx");


$bd = mysql_select_db("xxxxxxxxxx", $conexao) or die ("Não foi possível selecionar o Banco de dados.");

$sql = "SELECT * FROM SS_products WHERE product_code = '01'
INNER JOIN name FROM SS_categories ORDER BY name";

$resultado = mysql_query($sql, $conexao) or die ("Não foi possível executar a consulta");
echo "<TABLE BORDER=1>
<TR></TR>Produto</TR> <TH>Vendedor</TH> <TH>Valor</TH>";
while ($linha = mysql_fetch_array($resultado)) {
$id_item = $linha["name"];
$titulo_item = $linha["Price"];
$titulo_produto = $linha["name"];

echo "<TR><TD>$titulo_produto</TD>
<TD>$id_item</TD>
<TD>$titulo_item</TD></TR>";
}
echo "</TABLE>";
?>

não faz consulta, de uma olhada no link abaixo:

Veja aqui!!!

Link para o comentário
Compartilhar em outros sites

  • 0

Resolvido

<?php
$conexao = mysql_connect("host","usuario","senha"); //Faz conexão com o mysql
$db = mysql_select_db("nome banco");

#
# COLETA AS CATEGORIAS
#

$sql               = 'SELECT * FROM  SS_categories ORDER BY name';
$cat_consulta      = mysql_query($sql) OR Die ('Erro MYSQL ('.mysql_errno().')<br>'.mysql_error());

// SE EXISTEM CAT'S
If ($cat_registros = mysql_num_rows($cat_consulta))
   {
     // Inicia a tabela
     Echo '<table border="1">';
     
     // PERCORRE TODAS AS CAT'S
     While ($cat = mysql_fetch_assoc($cat_consulta))
           {
             // Linha da categoria
             Echo '<tr><td>'.$cat['name'].'</td></tr>';
             
             #
             # COLETA OS PRODUTOS DA CAT ATUAL E COM CODE = 01
             #
           
             $sql            = 'SELECT * FROM SS_products WHERE categoryID = '.$cat['categoryID'].' AND product_code = 01 ORDER BY name';
             $prod_consulta  = mysql_query($sql) OR Die ('Erro MYSQL ('.mysql_errno().')<br>'.mysql_error());
             
             // SE há PRODUTOS
             If ($prod_registros = mysql_num_rows($prod_consulta))
                {
                  // PERCORRE OS PRODUTOS QUE ENCONTROU
                  While ($prod = mysql_fetch_assoc($prod_consulta))
                        {
                          // Linha do produto atual
                          Echo '<tr><td>'.$prod['name'].' - '.$prod['Price'].'</td></tr>';
                        }
                }
             // SE não há PRODUTOS
             Else { Echo '<tr><td>não há produtos nesta cat com product_code = 01</td></tr>'; }
           }
           
     // Fim da table
     Echo '</table>';
   }
// não EXISTE CAT'S
Else { Exit ('Não há categorias!'); }
?>

Grande ajuda " InterPlanet " , veja o link da ajuda.

Clique Aqui - Outro Site

So uma duvida, to querendo mudar uma coisa, sabe onde aparecer a mensagem " não há produtos nesta cat com product_code = 01 ", dos campos que não estão preenchidos por " 01 ", queria simplesmente não listar, pois assim, ficaria somente os produtos que estão preenchidos pelo valor indicado.

Demais Muito Obrigado!!!

Link para o comentário
Compartilhar em outros sites

  • 0

já foi Resolvido!!

Com grande ajuda do nosso amigo " InterPlanet ". Dissendo melhor, ele fez tudo. Obrigado!!!

<?php
$conexao = mysql_connect("host","usuario","senha"); //Faz conexão com o mysql
$db = mysql_select_db("nome banco");
#
# COLETA AS CATEGORIAS
#

$sql               = 'SELECT * FROM  SS_categories ORDER BY name';
$cat_consulta      = mysql_query($sql) OR Die ('Erro MYSQL ('.mysql_errno().')<br>'.mysql_error());

// SE EXISTEM CAT'S
If ($cat_registros = mysql_num_rows($cat_consulta))
   {
     // Inicia a tabela
     Echo '<table width="600" border="5" align="center" bgcolor="#FFFFCC">';

     // PERCORRE TODAS AS CAT'S
     While ($cat = mysql_fetch_assoc($cat_consulta))
           {
             /* não VOU MAIS CRIAR A LINHA DA CAT ANTES DE TER CERTEZA QUE TEM PRODUTO COM OS REQUISITOS NECESSARIOS
             // Linha da categoria
             Echo '<tr><td>'.$cat['name'].'</td></tr>';
             */
             
             #
             # COLETA OS PRODUTOS DA CAT ATUAL E COM CODE = 01
             #

             $sql            = 'SELECT * FROM SS_products WHERE categoryID = '.$cat['categoryID'].' AND product_code = 01 ORDER BY name';
             $prod_consulta  = mysql_query($sql) OR Die ('Erro MYSQL ('.mysql_errno().')<br>'.mysql_error());

             // SE há PRODUTOS
             If ($prod_registros = mysql_num_rows($prod_consulta))
                {
                  /* já QUE TEM PRODUTO, AGORA CRIO A LINHA DA CAT */
                  // Linha da categoria
                  Echo '<tr><td><div align="center"><strong><font color="#FF0000" size="4">'.$cat['name'].'</font></strong></td></tr>';

                  // PERCORRE OS PRODUTOS QUE ENCONTROU
                  While ($prod = mysql_fetch_assoc($prod_consulta))
                        {
                          // Linha do produto atual
                          Echo '<tr><td><div align="left"><strong><font size="3">Tudo bem! '.$prod['name'].' Seu Valor colocado foi: R$: '.$prod['Price'].'   Reais</font></strong></td></tr>';
                        }
                }
             /* SE não há PRODUTOS -> não IMPRIME MAIS NADA VOU TIRAR O ELSE */
             //Else { Echo '<tr><td>não há produtos nesta cat com product_code = 01</td></tr>'; }
           }

     // Fim da table
     Echo '</table>';
   }
// não EXISTE CAT'S
Else { Exit ('Não há categorias!'); }
?>

Agora para inserir um botão, em cada resultado, para deletar.

Agradeço desde já ajuda!!

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...