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

Pesquisa MySQL & PHP - HELP


Guest Ramon Bedin Alencar

Pergunta

Guest Ramon Bedin Alencar

Olá sou novoa aki q estou precisando de mta ajuda com meu script , funciona assim !

tenho tres tabelas

1 - produtos

2 - serviços

3 - empresas

preciso listar todas as empresas que tenham o seu código na tabela produtos e serviços :

ai vai o código comentado !

// seleciono as empresas.

$sql = mysql_query("SELECT * FROM empresas WHERE empresas.Status = 1 ORDER BY Position");
$qtd_empresas = mysql_num_rows($sql);

// seleciono os produtos. 

$sql_produtos = mysql_query("SELECT * FROM produtos WHERE MATCH (produtos.Nome) AGAINST ('+$palavra' IN BOOLEAN MODE)");
$qtd_produtos = mysql_num_rows($sql_produtos);

// exibo os resultados comparando dentro dos fors.

for($x = 0; $x < $qtd_produtos; $x++){
$reg_produtos = mysql_fetch_row($sql_produtos);
    
    echo $x;
    echo "<br>";
    
    for($y = 0; $y < $qtd_empresas; $y++){
    $reg_empresas = mysql_fetch_row($sql);
    
        if($reg_produtos[6] == $reg_empresas[0]){ // os arays numéricos são os campos dos (Cod) a serem comparados
        echo $reg_produtos[1]; // exibe o nome do produto
        echo " - ";
        echo $reg_empresas[1]; // exibe a empresa do produto !
        echo "<br><hr>";
        }
        
    }

}

meu problema é que só está comparando a primeira linha, ele exibe um registro só, sendo que possuo mais de 12 produtos e 4 empresas.

Peço ajuda plz !!!

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0
Guest Ramon Bedin Alencar

Isso mesmo, i depois quantos serviços tem em cada empresa, as vezes pode ser simples mais to me complicandu !

i tem otra não pod repiti as empresas, exemplo !

se na hora de listar os produtos aparecer a empresa (1) e na hora de listar os serviços aparecer a empresa (1), só exibe a empresa (1) uma vez !

///////////////////////////////////////////////////////////////

ta embaçadu faze isso !..

Link para o comentário
Compartilhar em outros sites

  • 0

Porque você não faz isso tudo em um query direto com JOIN?

SELECT p.*,s.*,e.* FROM empresas e 
LEFT JOIN produtos p ON p.bla = e.bla
LEFT JOIN servicos s ON s.bla = e.bla
WHERE ...

Só tem que trocar os "bla" pelas colunas que se relacionam, e também tem que especificar os dados do WHERE, pode ser que você precise utilizar o GROUP BY...

Link para o comentário
Compartilhar em outros sites

  • 0

Creio que seja isso que tu quer mostra somente a quantidade de produtos e serviços se for fica assim o code

mas se tu quiser listar os serviços e produtos tu tem que fazer um while pra listar todos os que estão relacionados

com a empresa.

$queryEmp = mysql_query("select * from empresa");
while($linhaEmp = mysql_fetch_object($queryEmp)) {
    $queryProd = mysql_query("select * from produtos where IdEmp='".$linhaEmp->IdEmpresa."'");
    $numProd = mysql_num_rows($queryProd);
    echo $numProd;

    $queryServ = mysql_query("select * from servicos where IdEmp='".$linhaEmp->IdEmpresa."'");
    $numServ = mysql_num_rows($queryServ);
    echo $numServ;
}

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Ramon Bedin Alencar

Entendi mais o menus ! se de pra me explica um poku mais detalhadu agradeço

já ouvi falar em INNER JOIN mais nunca vi ele em uso,

Thanks !

Dexa eu explica melhor !

seleciono todas as empresas, depois seleciono todos os produtos com a palavra chave !

depois para cada produto eu tenho que mostrar sua empresa, se o produto.Emp == empresas.Cod

ai depois eu faço a mesma coisa com os serviços..... tá meio complicadu de faze isso !

EXEMPLO:.

busca por produto (tenis)

encontrou 3 produtos relacionados a tenis, ai eu tenho 6 empresas, para cada produto tenho que verificar se ele está dentro dakelas empresas... uffa agora sim expliquei direitu !

....................... ???

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Ramon Bedin Alencar

1º - seleciono todas as empresas

2º - depois seleciono todos os produtos com a palavra chave que a pessoa vai buscar !

3º - depois para cada produto que eu achei com a palavra eu vo ter que verificar se produto.Emp == empresas.Cod

se o produto pertence a empresa, se pertencer eu mostro a empresa, não o produto, isso com serviços também !

4º - mais eu tenho de comparar para ver se o produto pertence a empresa, isso com cada produto e com cada empresa.

5º - a empresa não pode se repitir em produto e em serviço

....................................Uffs !

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,7k
×
×
  • Criar Novo...