Figueiredo.web Postado Junho 10, 2011 Denunciar Share Postado Junho 10, 2011 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: WebNome 1: Joaquim XavierNome 2: Sílvia CamargoSetor: Crédito e CobrançaÁrea: CréditoNome 1: Lúcia AmaralSetor: Crédito e CobrançaÁrea: CobrançaNome 1: Paulo da SilvaA 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.2SET 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'); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Junho 10, 2011 Denunciar Share Postado Junho 10, 2011 Movendo PHP » MySQL. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Junho 13, 2011 Denunciar Share Postado Junho 13, 2011 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Figueiredo.web Postado Junho 13, 2011 Autor Denunciar Share Postado Junho 13, 2011 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 1AREA 1NOME 1NOME 2AREA 2NOME 2NOME 3SETOR 2AREA 3NOME 4...Abs Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Junho 13, 2011 Denunciar Share Postado Junho 13, 2011 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Junho 13, 2011 Denunciar Share Postado Junho 13, 2011 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Figueiredo.web
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
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.