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

Listagem de nomes por setor e área


Figueiredo.web

Pergunta

Olá.

Estou tentando listar nomes de uma tabela por setor e área em PHP, mas não estou conseguindo.

Como eu posso fazer isso?

O que quero :

Setor: Marketing

Área: Web

Nome 1: Joaquim Xavier

Nome 2: Sílvia Camargo

Setor: Crédito e Cobrança

Área: Crédito

Nome 1: Lúcia Amaral

Setor: Crédito e Cobrança

Área: Cobrança

Nome 1: Paulo da Silva

A tabela foi montada da seguinte forma:

-- phpMyAdmin SQL Dump

-- version 3.3.9

-- http://www.phpmyadmin.net

--

-- Servidor: localhost

-- Tempo de Geração: Jun 10, 2011 as 03:18 PM

-- Versão do Servidor: 5.1.44

-- Versão do PHP: 5.3.2

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--

-- Banco de Dados: `cadastro`

--

-- --------------------------------------------------------

--

-- Estrutura da tabela `area`

--

CREATE TABLE `area` (

`area_id` int(11) NOT NULL AUTO_INCREMENT,

`area` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,

PRIMARY KEY (`area_id`),

UNIQUE KEY `area` (`area`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=57 ;

--

-- Extraindo dados da tabela `area`

--

INSERT INTO `area` VALUES(1, 'Crédito e Cobrança');

INSERT INTO `area` VALUES(2, 'Comissão / Cobrança Hotel');

INSERT INTO `area` VALUES(3, 'Cobrança Agências');

INSERT INTO `area` VALUES(4, 'Cadastro e Crédito');

INSERT INTO `area` VALUES(5, 'Recebimento Eletrônico');

INSERT INTO `area` VALUES(6, 'Atendimento ao Fornecedor Nacional');

INSERT INTO `area` VALUES(7, 'Atendimento ao Fornecedor Internacional');

INSERT INTO `area` VALUES(8, 'Atendimento ao Cliente (Comissão)');

INSERT INTO `area` VALUES(9, 'Suporte - Adm');

INSERT INTO `area` VALUES(10, 'Recepção');

INSERT INTO `area` VALUES(11, 'Serviços Gerais (Manutenção)');

INSERT INTO `area` VALUES(12, 'Copa');

INSERT INTO `area` VALUES(13, 'Telefonia');

INSERT INTO `area` VALUES(14, 'Operação - Centro Oeste / Sul');

INSERT INTO `area` VALUES(15, 'Operação - Sudeste');

INSERT INTO `area` VALUES(16, 'Operação - Norte / Nordeste');

INSERT INTO `area` VALUES(17, 'Eventos por Adesão / Congressos');

INSERT INTO `area` VALUES(18, 'Suporte Agência');

INSERT INTO `area` VALUES(19, 'Fechamento');

INSERT INTO `area` VALUES(20, 'Atendimento ao Cliente');

INSERT INTO `area` VALUES(21, 'Faturamento - Diversos');

INSERT INTO `area` VALUES(22, 'Faturamento - Hospedagem');

INSERT INTO `area` VALUES(23, 'Boletos');

INSERT INTO `area` VALUES(24, 'Montagem');

INSERT INTO `area` VALUES(25, 'Conferência');

INSERT INTO `area` VALUES(26, 'Correspondência');

INSERT INTO `area` VALUES(27, 'Cotação');

INSERT INTO `area` VALUES(28, 'Atendimento');

INSERT INTO `area` VALUES(29, 'Site');

INSERT INTO `area` VALUES(30, 'Postos Avançados - Hotéis');

INSERT INTO `area` VALUES(31, 'TOP - Clientes Especiais');

INSERT INTO `area` VALUES(32, 'Confirmação Hotel');

INSERT INTO `area` VALUES(33, 'Emergencial');

INSERT INTO `area` VALUES(34, 'Digitação');

INSERT INTO `area` VALUES(35, 'Suporte Hotéis');

INSERT INTO `area` VALUES(36, 'Cadastro de Tarifas');

INSERT INTO `area` VALUES(37, 'Central do Carro');

INSERT INTO `area` VALUES(39, 'Operações');

INSERT INTO `area` VALUES(40, 'Aéreo');

INSERT INTO `area` VALUES(41, 'Receptivo');

INSERT INTO `area` VALUES(42, 'Seguros');

INSERT INTO `area` VALUES(43, 'Atendimento / Cotação');

INSERT INTO `area` VALUES(44, 'Suporte Internacional');

INSERT INTO `area` VALUES(45, 'Clientes Especiais');

INSERT INTO `area` VALUES(46, 'Pos Travel - Internacional');

INSERT INTO `area` VALUES(47, 'Receptivo Internacional');

INSERT INTO `area` VALUES(48, 'Controller');

INSERT INTO `area` VALUES(49, 'Feiras');

INSERT INTO `area` VALUES(50, 'Emissão / Grupos Internacionais');

INSERT INTO `area` VALUES(51, 'Equipe Comercial');

INSERT INTO `area` VALUES(52, 'PUC');

INSERT INTO `area` VALUES(53, 'Suporte - Infra');

-- --------------------------------------------------------

--

-- Estrutura da tabela `lista`

--

CREATE TABLE `lista` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`setor_id` int(11) NOT NULL,

`nome` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,

`andar` int(11) NOT NULL,

`area_id` int(11) NOT NULL,

`cargo` text CHARACTER SET utf8 COLLATE utf8_unicode_ci,

`ramal` int(11) NOT NULL,

`email` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,

`data_insercao` varchar(50) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=31 ;

--

-- Extraindo dados da tabela `lista`

--

INSERT INTO `lista` VALUES(17, 8, 'Paulo', 12, 28, 'Web Designer', 1349, 'mmac@dd.com.br', '03/06/2011 - 17:10:10');

INSERT INTO `lista` VALUES(19, 8, 'Camargo', 12, 40, 'Web Redatora', 1345, 'ccfg@dd.com.br', '08/06/2011 - 16:44:06');

INSERT INTO `lista` VALUES(28, 1, 'José', 10, 1, 'Presidente', 1300, 'presidencia@dd.com.br', '');

INSERT INTO `lista` VALUES(29, 8, 'Luis', 12, 28, 'Assessoria', 1200, 'luis@dd.com.br', '09/06/2011 - 13:31:40');

INSERT INTO `lista` VALUES(30, 8, 'Cláudio', 12, 40, 'Assessor de Imprensa', 1998, 'cdfe@dd.com.br', '09/06/2011 - 13:32:10');

-- --------------------------------------------------------

--

-- Estrutura da tabela `setor`

--

CREATE TABLE `setor` (

`setor_id` int(11) NOT NULL AUTO_INCREMENT,

`setor` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,

PRIMARY KEY (`setor_id`),

UNIQUE KEY `setor` (`setor`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=48 ;

--

-- Extraindo dados da tabela `setor`

--

INSERT INTO `setor` VALUES(1, 'Presidência');

INSERT INTO `setor` VALUES(2, 'Controladoria');

INSERT INTO `setor` VALUES(3, 'Contas a Pagar');

INSERT INTO `setor` VALUES(4, 'TTC');

INSERT INTO `setor` VALUES(5, 'Tesouraria');

INSERT INTO `setor` VALUES(6, 'Administrativo');

INSERT INTO `setor` VALUES(7, 'Eventos - Grupos (Nacional)');

INSERT INTO `setor` VALUES(8, 'Marketing');

INSERT INTO `setor` VALUES(9, 'Vendas');

INSERT INTO `setor` VALUES(10, 'Faturamento');

INSERT INTO `setor` VALUES(11, 'Qualidade e Processos');

INSERT INTO `setor` VALUES(12, 'Operações');

INSERT INTO `setor` VALUES(13, 'Plantão');

INSERT INTO `setor` VALUES(14, 'Operações Nacional');

INSERT INTO `setor` VALUES(15, 'Pos Travel');

INSERT INTO `setor` VALUES(16, 'Lazer');

INSERT INTO `setor` VALUES(17, 'Operações Internacionais');

INSERT INTO `setor` VALUES(18, 'Comercial');

INSERT INTO `setor` VALUES(19, 'Recursos Humanos (RH)');

INSERT INTO `setor` VALUES(20, 'Departamento Pessoal (DP)');

INSERT INTO `setor` VALUES(21, 'Tecnologia da Informação (TI)');

INSERT INTO `setor` VALUES(22, 'Salas de Reunião');

INSERT INTO `setor` VALUES(23, 'Centro de Convivência');

INSERT INTO `setor` VALUES(24, 'Conselho');

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Oi 'Figueiredo.web',

Faça assim:

SELECT s.setor,  a.area, l.nome 
FROM lista l
INNER JOIN area a ON a.area_id = l.area_id
INNER JOIN setor s ON s.setor_id = l.setor_id;

Para arrumar do jeito que você exibiu no primeiro post use sua linguagem de programação.

Link para o comentário
Compartilhar em outros sites

  • 0
Oi 'Figueiredo.web',

Faça assim:

SELECT s.setor,  a.area, l.nome 
FROM lista l
INNER JOIN area a ON a.area_id = l.area_id
INNER JOIN setor s ON s.setor_id = l.setor_id;

Para arrumar do jeito que você exibiu no primeiro post use sua linguagem de programação.

Obrigado Denis, mas o meu calo justamente está no código de programação em PHP. Não consigo mostrar da maneira que quero.

Eu quero que mostre:

SETOR 1

AREA 1

NOME 1

NOME 2

AREA 2

NOME 2

NOME 3

SETOR 2

AREA 3

NOME 4

...

Abs

Link para o comentário
Compartilhar em outros sites

  • 0

Agora que o problema de consulta sql foi resolvido, vou transferir o tópico novamente para a área de PHP para que eles possam te ajudar.

Movendo MySQL -->> PHP

Link para o comentário
Compartilhar em outros sites

  • 0

Você vai ter que salvar duas variáveis de controle, uma para verificar se setor atual é igual ao anterior e outra para verificar se a área atual é igual a anterior, a cada volta do laço você vai ter que fazer isto, se o setor for diferente, imprima o nome dele e da área, salve o novo setor e a nova área, se a área for diferente imprima o nome dela e salve a nova área... basicamente é isto.

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,4k
    • Posts
      652,2k
×
×
  • Criar Novo...