Jump to content

Search the Community

Showing results for tags 'query'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Found 95 results

  1. playnet

    Ajuda numa consulta SQL

    Boa tarde! Gostaria de uma ajuda para finalizar uma consulta SQL, vou utilizar um exemplo fictício para descrever o que preciso. SELECT tbCidades.nome as Cidade, tbFiliais.nome as Filial, tbProdutos.nome as NomeProduto FROM cidades tbCidades, filiais tbFiliais, produtos tbProdutos, vendas tbVendas WHERE tbFiliais.idCidade=tbCidades.idCidade and tbProdutos.idFilial=tbFilial.idFilial and tbProdutos.idProduto=tbVendas.idProduto and tbCidades.nome='Rio de Janeiro' and tbFiliais.nome='Copacabana' and tbVendas.data='15/11/2017' GROUP BY Cidade, Filial, NomeProduto O que preciso: 4ª coluna: Contar qtas vendas efetuadas da respectiva Cidade-Filial-Produto que tenham tbVendas.formapgto 'C' (cartão de crédito) Nome da Coluna seria: VendasCartao 5ª coluna: Contar qtas vendas efetuadas da respectiva Cidade-Filial-Produto que tenham tb.Vendas.formapgto 'D' (dinheiro) Nome da Coluna seria: VendasDinheiro 6ª coluna: Contar qtas vendas efetuadas da respectiva Cidade-Filial-Produto independente da formapgto ou que tb.Vendas.formapgto in ('C', 'D') Nome da Coluna seria: VendasTotal Resultado Esperado: Cidade Filial NomeProduto VendasCartao VendasDinheiro VendasTotal Rio de Janeiro Copacabana Cadeira de Praia 4 2 6 Rio de Janeiro Copacabana Barraca de Praia 3 0 3 Rio de Janeiro Copacabana Mesa Plastico 8 6 14 Já tentei usar de tudo... subqueries com select+count(tbVendas.idVenda), função, etc... e nada. Sempre pega na questão do group by. Alguma sugestão? Obrigado, Alex
  2. JhoniWillian

    Pegar valor de Query e mandar para variavel

    Boa tarde Pessoal, estou com uma dúvida. Como faço pra pegar o resultado de um select e adicionar esse valor em uma variavel para que eu consiga utilizar futuramente? A query é essa: string sql_verifica = "SELECT min(c.DateTimeEv) DateTimeEv FROM Production p " + "INNER JOIN Collection c " + "ON p."+id+" = c.PtrProd " + "AND p.Lx_CodEtapa = 'G' " + "AND p.Lx_Operacao = '00015' " + "AND p.Lx_LinhaReceita = 'CATERPILLAR' " + "AND p.DataLimite = '03/10/2017' " + "AND c.Event IN ('2', '10') " + "GROUP BY p.IndProd1, c.PtrProd, c.Event " + "ORDER BY p.IndProd1, c.Event, c.PtrProd "; no caso quero pegar o resultado desse campo DateTimeEv e jogar o valor dele em uma variável. ali onde está ON p."+id+" é onde ele pega o valor do meu datagrid para comparar com o c.PtrProd.
  3. Olá, tenho as tabelas: CREATE TABLE `vg_pes_area` ( `id_area` int(3) NOT NULL AUTO_INCREMENT, `des_area` varchar(255) NOT NULL, PRIMARY KEY (`id_area`) ) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC; Certo... E tenho outra tabela: CREATE TABLE `vg_pes_area_usuario` ( `cod_usuario` varchar(255) NOT NULL, `cod_area` varchar(255) NOT NULL, `respondido` varchar(255) NOT NULL, `cod_pergunta` varchar(255) NOT NULL DEFAULT '' ) ENGINE=InnoDB DEFAULT CHARSET=latin1; Meu problema: Eu quero fazer um SELECT da tabela 'vg_pes_area' das áreas que NÃO existem na tabela 'vg_pes_area_usuario' do determinado usuário 'jesse.pereira' e exibir na tela.
  4. thiago riccieri

    consulta mysql lento ao usar o order by

    Ola, alguém poderia me dar uma ajudunha nesta consulta. Preciso otimiza-la, pois esta levando aproximadamente 20 segundos para executar a query na aplicação. NOTA: Quando removo ORDER BY r.mes1 ASC a consulta leva 2 segundos. Mas preciso desta ordenação!!!! SELECT e.idequipamento, e.equipamento, e.circuito, e.conjunto, e.zona, e.idlocalidade, e.trecho, e.soma, e.idregiao, e.idsupervisao, e.kmrede, e.clientes, r.mes1, r.mes2, g.relatorioanalitico, g.soma, g.iasc, g.planopodas, g.citycity, g.energisaparceira, g.outros FROM equipamento AS e INNER JOIN rank AS r ON (e.idequipamento = r.idequipamento) INNER JOIN gestao AS g ON (e.idequipamento = g.idequipamento) WHERE r.mes1>0 AND e.idsupervisao='1' ORDER BY r.mes1 ASC LIMIT 50
  5. Boa Tarde pessoal, tenho uma consulta a ser feita, mas está demorando muito, segue o corpo: explain SELECT Contratos.Cliente As Cliente, Clientes.Nome AS Nome, Clientes.CNPJ_CNPF AS CPF_CNPJ, Contratos.Plano AS Plano, Planos.Descricao AS DescPlano, Contratos.Inicio AS InicioContrato, (Contratos.ValorPlano - Contratos.Desconto - Contratos.DescValor) AS TotalPromo, Movimento.Documento AS Documento, IFNULL(ROUND(SUM((Movimento_Itens.Valor)),2),0) AS ValorLiquido FROM Planos USE INDEX(PRIMARY) INNER JOIN Contratos USE INDEX(Situacao) ON Contratos.Plano = Planos.Codigo INNER JOIN Clientes USE INDEX(PRIMARY) ON Contratos.Cliente = Clientes.Codigo INNER JOIN MovimentoContrato USE INDEX(PRIMARY) ON MovimentoContrato.Contrato = Contratos.Numero INNER JOIN Movimento USE INDEX(PRIMARY) ON Movimento.Sequencia = MovimentoContrato.Sequencia INNER JOIN Movimento_Itens USE INDEX(PRIMARY) ON Movimento_Itens.Sequencia = Movimento.Sequencia AND Movimento_Itens.Conta = Movimento.Conta AND Movimento_Itens.Contrato = Contratos.Numero WHERE Contratos.Situacao = 'A' OR Contratos.Situacao = 'B' GROUP BY Contratos.Numero, Movimento.Sequencia; Cada tabela tem +/- 4 milhões de registros, e em todas há os index, mas não consigo fazer ficar mais rápida mesmo forçando os index, alguém pode me ajudar ?
  6. gianp

    Ajuda MySQL

    Boa tarde, acabei de finalizar um código para sistema de login/cadastro, funcionando normalmente! Como sou organizado, quero que os dados sejam salvo por "ID's", mas quando eu insiro elas na tabela do registro, os dados param de ser salvos. Removendo a "ID's", retorna a salvar os dados no banco. O que eu faço?
  7. rafamagalhaes

    Consulta SQL no PHP

    Pessoal, boa noite! Alguém pode me ajudar? Estou com essa consulta SQL no PHP e não estou conseguindo achar o erro... pois digito o login e senha corretamente e não loga... Segue: $sql = "SELECT `id`, `nome` FROM `".$_SG['tabela']."` WHERE `usuario` = '".$nusuario."' AND `senha` = '".$nsenha."' LIMIT 1"; Segue a função toda: function validaUsuario($usuario, $senha) { global $_SG; // $cS = ($_SG['caseSensitive']) ? 'BINARY' : ''; // Usa a função addslashes para escapar as aspas $nusuario = addslashes($usuario); $nsenha = addslashes($senha); // Monta uma consulta SQL (query) para procurar um usuário $sql = "SELECT `id`, `nome` FROM `".$_SG['tabela']."` WHERE `usuario` = '".$nusuario."' AND `senha` = '".$nsenha."' LIMIT 1"; $query = mysql_query($sql); $resultado = mysql_fetch_assoc($query); // Verifica se encontrou algum registro if (empty($resultado)) { // Nenhum registro foi encontrado => o usuário é inválido return false; } else { // Definimos dois valores na sessão com os dados do usuário $_SESSION['usuarioID'] = $resultado['id']; // Pega o valor da coluna 'id do registro encontrado no MySQL $_SESSION['usuarioNome'] = $resultado['nome']; // Pega o valor da coluna 'nome' do registro encontrado no MySQL // Verifica a opção se sempre validar o login if ($_SG['validaSempre'] == true) { // Definimos dois valores na sessão com os dados do login $_SESSION['usuarioLogin'] = $usuario; $_SESSION['usuarioSenha'] = $senha; } return true; } }
  8. Boa tarde, Preciso de auxilio para criar uma consulta sql para retornar várias linhas dinamicamente. Tenho a seguinte procedore "st_ConsultaCep" no banco que valida o CEP . declare @p3 int set @p3=0 declare @p4 varchar(255) set @p4='' declare @p5 varchar(80) set @p5='' declare @p6 varchar(30) set @p6='' declare @p7 int set @p7=1 declare @p8 varchar(50) set @p8='' declare @p9 varchar(4) set @p9='' declare @p10 varchar(2) set @p10='' exec st_ConsultaCep '78090785',1,@p3 output,@p4 output,@p5 output,@p6 output,@p7 output,@p8 output,@p9 output,@p10 output select @p3, @p4, @p5, @p6, @p7, @p8, @p9, @p10 Que retorna a seguinte informação: 0 RUA UM COHAB SÃO GONÇALO 1 CUIABA MT Tentei utilizar o cross apply, porém sem sucesso. Alguma sugestão para a consulta sql Seria algo neste sentido que eu preciso... select * from CONGR001 A INNER JOIN CONVE002 B ON A.ID_Grupo=B.ID_Cota INNER JOIN CORCC026 C ON C.ID_Endereco=B.ID_Endereco CROSS APPLY st_ConsultaCep(C.CEP,1)
  9. É possível criar uma tabela no banco de dados do Wp inserir valores e alterar os mesmo, ou ele me bloquearia? Queria criar uma tabela simples somente para validar, inserir um numero e se necessário fazer a alteração desse numero.
  10. FabianoSouza

    Concatenar trechos de uma query

    Estou montado uma sp onde os campos e o nome da tabela precisam ser variáveis. Por hora só cheguei nisso...que não funciona. Acho que a forma como estou tentando concatenar está errada. Peço ajuda dos colegas. declare @select varchar(max) set @select = 'select ' BEGIN SELECT @select = @select + '['+Candidato+'] as ['+'Nome'+']' FROM Candidatos Exec(@select) END
  11. medice99

    Retirar a hora de campo datetime

    Bom dia a todos, Tenho uma tabela no SQL que possui uma coluna date time, porém eu não preciso da hora nessa coluna de forma que a informação fique sempre '2017-07-31 00:00:00' Porém tem alguns campos que de alguma forma o sistema acabou incluindo a hora, ficando por exemplo '2017-08-25 08:35:12.000' e na hora de tirar os relatórios do sistema, os campos que possuem horário não aparecem no relatório. Gostaria de saber se existe alguma forma de dar um update em todas as linhas da tabela, para excluir o campo HORA e deixa-los somente com 00:00:00, sem alterar a data que está. Exemplo, linha X está com o campo data_vencimento = '2017-08-25 08:35:12.000' e eu gostaria que ficasse apenas '2017-07-25 00:00:00.000'. Tem como fazer isso? Obrigado a todos desde já.
  12. josenilson

    query com varios like

    Boa galera, estou tentando criar uma consulta onde o usuário vai poder pesquisar em um input varias colunas no banco como por exemplo, nome e rg, tenho essa consulta abaixo, mas a mesma só funciona por nome quando tendo adicionar uma nova coluna não funciona , outro erro é o seguinte, quando dar certo pesquisar por rg essa consulta esta pegando todos os rg que contem os números que digito exemplo: Se eu digitar 1298 ai alguém tiver o rg 87981298, a consulta lista esta pessoa quero deixar assim, exemplo ao consultar 1298 ela me traga somente aquele rg que começa com 1298, e não que contenha isso no meio dele ou no final do rg . abaixo minha consulta if (isset($_POST["search"])) { $searchq = $_POST["search"]; $searchq = preg_replace("#[^0-9a-z]#i", "",$searchq); $consulta = $pdo->query(" SELECT * FROM cad_cliente WHERE nome LIKE '%$searchq%' OR nome LIKE '%$searchq%' OR rg LIKE '%$searchq%' ")or die ("could not search !"); while ($linha = $consulta->fetch(PDO::FETCH_ASSOC)) { // aqui eu mostro os valores de minha consulta echo " <div id='resultado' class='form-inline'> <legend></legend> Nome: <input style='width:340px;font-size:13px' value='{$linha['nome']}' class='form-control' readonly /> RG: <input style='width:120px;font-size:13px' value='{$linha['rg']}' class='form-control' readonly> </div> "; } }
  13. Boa tarde pessoal! Eu tenho a seguinte query. SELECT DISTINCT p.product_id AS total FROM oc_product_to_category p2c LEFT JOIN oc_product_filter pf ON (p2c.product_id = pf.product_id) LEFT JOIN oc_product p ON (pf.product_id = p.product_id) LEFT JOIN oc_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN oc_product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pd.language_id = '3' AND p.status = '1' AND p.date_available <= NOW() AND p2s.store_id = '0' AND p2c.category_id = '67' AND pf.filter_id In (161, 122, 123, 140) E ela esta retornando os seguintes resultados. total,119, 142, 309, 196, 244, 245, 246, 247, 256, 257, 259, 290, 291, 292, 293, 294, 295, 296, 301, 300, 310, 311, 313, 314, 315 só que preciso que ele me retorne apenas os seguinte ID. 259, 290, 295, 329, 330 Alguém sabe o que preciso mudar na query para que ele me retorne somente esses ID ?
  14. Olá, amigos, estou desenvolvendo uma solução para um site e me deparei com um problema, eu tenho while que executa uma query para exibir as imagens na pagina, mas para cada imagem eu preciso dentro da div de um botão para exclui-la, preciso de uma query dentro deste while para excluir, segue a imagem e código como exemplo: <?php // Incluindo arquivo de conexão require_once('config/conn.php'); // Selecionando fotos $stmt = $pdo->query('SELECT id, nome, tipo, descricao, tamanho FROM fotos'); ?> ////código para restar as imagens <html>......... <?php while ($foto = $stmt->fetchObject()): ?> ///while com a função <div class="col-sm-6 col-md-4"> <div class="thumbnail" style="float:left"> <img src="imagem.php?id=<?php echo $foto->id ?>" style="max-width:300px; margin:10px" /> <div class="caption"> <strong>Nome:</strong> <?php echo $foto->nome ?> <br/> <strong>Tipo:</strong> <?php echo $foto->tipo ?> <br/> <strong>Descrição:</strong> <?php echo $foto->descricao ?> <br/> <strong>Tamanho:</strong> <?php echo $foto->tamanho ?> bytes <br/> <input type="button" onClick=" " value="Excluir" style="color:#F00" /> neste botão preciso da query excluir, mas não enxergo uma luz para resolver isso, vi soluções com ajax mas como a condição defe ser uma dessas saidas da variavel $foto-> não exergo </div> </div> </div> <?php endwhile ?>
  15. Olá amigos boa noite, estou desenvolvendo uma solução para um site e me deparei com o seguinte problema, preciso executar uma query de delete em uma pagina com código HTML (ela tem extensão php), e meu pouco conhecimento não vê uma solução para isto, a pagina tem um while para exibir as imagens enquanto elas existirem, e o problema é que o where da condição da query do DELETE está no while e cada doto tem seus distintos atributos, por isso não consigo usar ajax, vou postar o código e se alguem exergar uma solução eu agradeço,, obrigado. código na pagina html.php: <?php require_once('config/conn.php'); $stmt = $pdo->query('SELECT id, nome, tipo, descricao, tamanho FROM fotos'); ?> <div class="row"> <?php while ($foto = $stmt->fetchObject()): ?> <div class="col-sm-6 col-md-4"> <div class="thumbnail" style="float:left"> <img src="imagem.php?id=<?php echo $foto->id ?>" style="max-width:300px; margin:10px" /> <div class="caption"> <strong>Nome:</strong> <?php echo $foto->nome ?> <br/> <strong>Tipo:</strong> <?php echo $foto->tipo ?> <br/> <strong>Descrição:</strong> <?php echo $foto->descricao ?> <br/> <strong>Tamanho:</strong> <?php echo $foto->tamanho ?> bytes <br/> <input type="button" onClick=" " value="Excluir" style="color:#F00; " /> >>>>aqui é o botão para excluir a foto e o where teria uma das saidas de $foto </div> </div> </div> <?php endwhile ?> </div>
  16. ezzcardoso

    foreach aninhado e array select

    Pessoal, estou fazendo um script php para selecionar registros no banco de dados... que funciona normalmente.. porém, não estou sabendo como trarar o dados gerados pelo script. Vejamos um exemplo. <?php abstract class Eac { private $localhost = "localhost"; private $root = "root"; private $password = ""; private $database = "database"; private $port = "3306"; protected function open() { $conn = new mysqli($this->localhost, $this->root, $this->password, $this->database, $this->port); $conn->select_db($this->database); $conn->set_charset("utf8"); if ($conn->connect_error) { return $conn->connect_error; } else { return $conn; } } } class SQL extends Eac { public function insert($table, $array) { if (is_array($array)) { $conn = $this->open(); $fields = array(); $values = array(); foreach ($array as $key => $value) { $fields[] = $key; $values[] = "'" . $value = $conn->real_escape_string($value) . "'"; } $fields = implode(",", $fields); $values = implode(",", $values); $sql = "INSERT INTO {$table} ({$fields}) VALUES ({$values})"; if ($conn->query($sql)) { return array( "Error" => false, "insert_id" => $conn->insert_id, "affected_rows" => $conn->affected_rows, "info" => $conn->info ); } else { return array( "error" => $conn->error ); } $conn->close(); } else { echo ("Não é array"); } } public function delete($table, $where) { $conn = $this->open(); $sql = "DELETE FROM {$table} {$where}"; if ($conn->query($sql)) { return array( "affected_rows" => $conn->affected_rows, "info" => $conn->info ); } else { return array( "error" => $conn->error ); } $conn->close(); } public function update($table, $array, $where) { if (is_array($array)) { $conn = $this->open(); $sql = "UPDATE {$table} SET "; $sets = array(); foreach ($array as $column => $value) { $sets[] = $column . " = '" . $value = $conn->real_escape_string($value) . "'"; } $sql .= implode(',', $sets); $sql .= $where; if ($conn->query($sql)) { return array( "Error" => false, "insert_id" => $conn->insert_id, "affected_rows" => $conn->affected_rows, "info" => $conn->info ); } else { return array( "error" => $conn->error ); } $conn->close(); } } public function select($table, $array, $rules) { $conn = $this->open(); switch ($array) { case '*': $conditions = array(); foreach ($rules as $column => $value) { $conditions[] =" {$column} {$value} "; } $condition = implode("",$conditions); echo $sql = "SELECT * FROM {$table} {$condition}"; break; case is_array($array): $fields = array(); foreach ($array as $column => $value) { $fields[] = $value; } $conditions = array(); foreach ($rules as $column => $value) { $conditions[] =" {$column} {$value} "; } $field = implode(",", $fields); $condition = implode("",$conditions); echo $sql = "SELECT {$field} FROM {$table} {$condition}"; break; } $select = $conn->query($sql); $result = array(); if ($select->num_rows > 0) { $stack = array(); while ($row = $select->fetch_array()) { $stack[] = $row; } return ($stack); } else { echo "0 results"; } $conn->close(); } } ?> Aí em cima é meu script normal pra fazer o select e está 100% funcionando. Agora o problema é quando eu faço o comando $database = new SQL(); $cliente = $database->select("cliente","*",$rules = array()); var_dump($cliente); Mostra o seguinte array (size=2) 0 => array (size=18) 0 => string '21' (length=2) 'id' => string '21' (length=2) 1 => string 'Lula Luiz Inacio Da Silva' (length=25) 'nome' => string 'Lula Luiz Inacio Da Silva' (length=25) 2 => string 'CPF' (length=3) 'tipo' => string 'CPF' (length=3) 3 => string '12345678912' (length=11) 'CPF_CNPJ' => string '12345678912' (length=11) 4 => string '66552852154' (length=11) 'telefone_celular' => string '66552852154' (length=11) 5 => string '31454564' (length=8) 'telefone_comercial' => string '31454564' (length=8) 6 => string 'lula@povo.com.br' (length=16) 'email' => string 'lula@povo.com.br' (length=16) 7 => string '5936d1d7296d0' (length=13) 'cliente_id' => string '5936d1d7296d0' (length=13) 8 => string 'lula é um ex presidente...' (length=28) 'obs' => string 'lula é um ex presidente...' (length=28) 1 => array (size=18) 0 => string '20' (length=2) 'id' => string '20' (length=2) 1 => string 'Dilma Luiz Inacio Da Silva' (length=26) 'nome' => string 'Dilma Luiz Inacio Da Silva' (length=26) 2 => string 'CPF' (length=3) 'tipo' => string 'CPF' (length=3) 3 => string '12345678912' (length=11) 'CPF_CNPJ' => string '12345678912' (length=11) 4 => string '66552852154' (length=11) 'telefone_celular' => string '66552852154' (length=11) 5 => string '31454564' (length=8) 'telefone_comercial' => string '31454564' (length=8) 6 => string 'lula@povo.com.br' (length=16) 'email' => string 'lula@povo.com.br' (length=16) 7 => string '5936d1b61f716' (length=13) 'cliente_id' => string '5936d1b61f716' (length=13) 8 => string 'lula é um ex presidente...' (length=28) 'obs' => string 'lula é um ex presidente...' (length=28) agora... como que eu ponho isso em tabela ????? eu fiz o seguinte. foreach($cliente as $key => $value){ foreach($value as $keys => $values){ echo $values->nome; $values->CPF; } } só que não funciona.... resultado Notice: Trying to get property of non-object ... Minha questão é.... COMO posso organizar aquela Array em uma tabela de marcação HTML
  17. ezzcardoso

    foreach aninhado e array select

    Pessoal, estou fazendo um script php para selecionar registros no banco de dados... que funciona normalmente.. porém, não estou sabendo como trarar o dados gerados pelo script. Vejamos um exemplo. <?php abstract class Eac { private $localhost = "localhost"; private $root = "root"; private $password = ""; private $database = "database"; private $port = "3306"; protected function open() { $conn = new mysqli($this->localhost, $this->root, $this->password, $this->database, $this->port); $conn->select_db($this->database); $conn->set_charset("utf8"); if ($conn->connect_error) { return $conn->connect_error; } else { return $conn; } } } class SQL extends Eac { public function insert($table, $array) { if (is_array($array)) { $conn = $this->open(); $fields = array(); $values = array(); foreach ($array as $key => $value) { $fields[] = $key; $values[] = "'" . $value = $conn->real_escape_string($value) . "'"; } $fields = implode(",", $fields); $values = implode(",", $values); $sql = "INSERT INTO {$table} ({$fields}) VALUES ({$values})"; if ($conn->query($sql)) { return array( "Error" => false, "insert_id" => $conn->insert_id, "affected_rows" => $conn->affected_rows, "info" => $conn->info ); } else { return array( "error" => $conn->error ); } $conn->close(); } else { echo ("Não é array"); } } public function delete($table, $where) { $conn = $this->open(); $sql = "DELETE FROM {$table} {$where}"; if ($conn->query($sql)) { return array( "affected_rows" => $conn->affected_rows, "info" => $conn->info ); } else { return array( "error" => $conn->error ); } $conn->close(); } public function update($table, $array, $where) { if (is_array($array)) { $conn = $this->open(); $sql = "UPDATE {$table} SET "; $sets = array(); foreach ($array as $column => $value) { $sets[] = $column . " = '" . $value = $conn->real_escape_string($value) . "'"; } $sql .= implode(',', $sets); $sql .= $where; if ($conn->query($sql)) { return array( "Error" => false, "insert_id" => $conn->insert_id, "affected_rows" => $conn->affected_rows, "info" => $conn->info ); } else { return array( "error" => $conn->error ); } $conn->close(); } } public function select($table, $array, $rules) { $conn = $this->open(); switch ($array) { case '*': $conditions = array(); foreach ($rules as $column => $value) { $conditions[] =" {$column} {$value} "; } $condition = implode("",$conditions); echo $sql = "SELECT * FROM {$table} {$condition}"; break; case is_array($array): $fields = array(); foreach ($array as $column => $value) { $fields[] = $value; } $conditions = array(); foreach ($rules as $column => $value) { $conditions[] =" {$column} {$value} "; } $field = implode(",", $fields); $condition = implode("",$conditions); echo $sql = "SELECT {$field} FROM {$table} {$condition}"; break; } $select = $conn->query($sql); $result = array(); if ($select->num_rows > 0) { $stack = array(); while ($row = $select->fetch_array()) { $stack[] = $row; } return ($stack); } else { echo "0 results"; } $conn->close(); } } ?> Aí em cima é meu script normal pra fazer o select e está 100% funcionando. Agora o problema é quando eu faço o comando $database = new SQL(); $cliente = $database->select("cliente","*",$rules = array()); var_dump($cliente); Mostra o seguinte array (size=2) 0 => array (size=18) 0 => string '21' (length=2) 'id' => string '21' (length=2) 1 => string 'Lula Luiz Inacio Da Silva' (length=25) 'nome' => string 'Lula Luiz Inacio Da Silva' (length=25) 2 => string 'CPF' (length=3) 'tipo' => string 'CPF' (length=3) 3 => string '12345678912' (length=11) 'CPF_CNPJ' => string '12345678912' (length=11) 4 => string '66552852154' (length=11) 'telefone_celular' => string '66552852154' (length=11) 5 => string '31454564' (length=8) 'telefone_comercial' => string '31454564' (length=8) 6 => string 'lula@povo.com.br' (length=16) 'email' => string 'lula@povo.com.br' (length=16) 7 => string '5936d1d7296d0' (length=13) 'cliente_id' => string '5936d1d7296d0' (length=13) 8 => string 'lula é um ex presidente...' (length=28) 'obs' => string 'lula é um ex presidente...' (length=28) 1 => array (size=18) 0 => string '20' (length=2) 'id' => string '20' (length=2) 1 => string 'Dilma Luiz Inacio Da Silva' (length=26) 'nome' => string 'Dilma Luiz Inacio Da Silva' (length=26) 2 => string 'CPF' (length=3) 'tipo' => string 'CPF' (length=3) 3 => string '12345678912' (length=11) 'CPF_CNPJ' => string '12345678912' (length=11) 4 => string '66552852154' (length=11) 'telefone_celular' => string '66552852154' (length=11) 5 => string '31454564' (length=8) 'telefone_comercial' => string '31454564' (length=8) 6 => string 'lula@povo.com.br' (length=16) 'email' => string 'lula@povo.com.br' (length=16) 7 => string '5936d1b61f716' (length=13) 'cliente_id' => string '5936d1b61f716' (length=13) 8 => string 'lula é um ex presidente...' (length=28) 'obs' => string 'lula é um ex presidente...' (length=28) agora... como que eu ponho isso em tabela ????? eu fiz o seguinte. foreach($cliente as $key => $value){ foreach($value as $keys => $values){ echo $values->nome; $values->CPF; } } só que não funciona.... resultado Notice: Trying to get property of non-object ... Minha questão é.... COMO posso organizar aquela Array em uma tabela de marcação HTML
  18. josenilson

    Comparando Valores

    Pessoal Tenho uma tabela com dois valores motorista e telefone, fiz uma consulta onde através do id da tabela motorista eu listo o telefone do mesmo, eu cadastro esses motoristas em outra tabela, o que preciso fazer é comparar o motorista que foi cadastrado na tabela Jornada, com o motorista da tabela motorista e mostrar o telefone do mesmo . como posso fazer essa comparação ? No código abaixo esta uma consulta básica onde mostro o telefone do respectivo motorista através da sua id, a variável $Cad_Jornada, eu mostro o mesmo motorista que esta cadastrado na outra tabela mencionado acima, tabela jornada , preciso comparar o motorista da tabela jornada com o motorista da tabela motorista e trazer o seu telefone . Desde já agradeço. <?php $Cad_Jornada["Motorista"]; $idMotorista = "13"; //variavel com o id do motorista require("conexao.php"); //arquivo com parametros da conexão da base $consulta = $conexao->query("SELECT telefone FROM motorista where idMotorista= $idMotorista;"); // consulta o campo telefone da tabela motorista $dadosBd = $consulta->fetch(PDO::FETCH_ASSOC); echo $dadosBd['telefone']; mostro o telefone de acordo com o id na variavel motorista ?>
  19. Daniel Martins Lobo

    Trazer resultado do mês anterior

    Olá a todos, fiz uma query que posteriormente precisarei colocar em um job, portanto preciso que a @DATA_I e @DATA_F gere de forma automática. O que eu preciso é pegar o primeiro dia do mês anterior e o dia atual -1 só que do mês anterior. Exemplo: Hoje é 12/05, então precisaria pegar de 01/04/2017 a 11/04/2017. O primeiro dia do mês anterior eu já sei como fazer, vou usar (SELECT CONVERT(VARCHAR, DateAdd(mm, DateDiff(mm,0,GetDate()) - 1, 0),103)). O problema é pegar o mesmo dia atual -1 só que do mês anterior. Abaixo está a minha query: DECLARE @DATA_I DATE = '01-04-2017' DECLARE @DATA_F DATE = '11-04-2017' SELECT SUM ( A.VENDA_BRUTA ) AS VENDA_BRUTA , SUM ( A.DESCONTO ) AS DESCONTO , SUM ( A.VENDA_LIQUIDA ) AS VENDA_LIQUIDA , SUM ( A.IMPOSTOS ) AS IMPOSTOS , SUM ( A.QUANTIDADE * ISNULL ( B.CUSTO_CONTABIL , 0 ) ) AS CMV , SUM ( CASE WHEN A.TIPO_BONIFICACAO = 'V' THEN A.QUANTIDADE * A.BONIFICACAO ELSE A.VENDA_LIQUIDA * ( A.BONIFICACAO / 100 ) END ) AS BONIFICACAO , SUM ( CASE WHEN A.TIPO_COMISSAO = 'V' THEN A.QUANTIDADE * A.COMISSAO ELSE A.VENDA_LIQUIDA * ( A.COMISSAO / 100 ) END ) AS COMISSAO , SUM ( A.VENDA_LIQUIDA ) - SUM ( A.IMPOSTOS ) - SUM ( A.QUANTIDADE * ISNULL ( B.CUSTO_CONTABIL , 0 ) ) AS LUCRO_BRUTO FROM VENDAS_ANALITICAS A WITH(NOLOCK) JOIN EMPRESAS_USUARIAS X WITH(NOLOCK) ON X.EMPRESA_USUARIA = A.EMPRESA LEFT JOIN CUSTO_MEDIO_MENSAL_EMPRESA_CONTABIL B WITH(NOLOCK) ON B.PRODUTO = A.PRODUTO AND B.EMPRESA_CONTABIL = X.EMPRESA_CONTABIL AND B.MES = MONTH ( A.MOVIMENTO ) AND B.ANO = YEAR ( A.MOVIMENTO ) WHERE A.MOVIMENTO >= @DATA_I AND A.MOVIMENTO <= @DATA_F AND X.REDE = 1
  20. Preciso que o resultado de uma query (Estou usando <table> para listar os resultados) se ordenem (order by) conforme a escolha do usuário em um radio button. Exemplo: Depois de selecionar os parâmetros da pesquisa, o usuário tem três rádios (Por Nome, Por Data, Por Obra) e conforme a escolha dele, o resultado aparece "order by nome_obra" ou "order by data_obra" ou "order by id_obra". Já tentei carregar o value da radio escolhida em uma variável $ordem_exibicao e na query colocar "select *** order by $ordem_exibicao" mas o my sql não reagiu bem. Sei que é algo simples pois vejo isso em praticamente todos os sistemas, mas minha inexperiência não está ajudando :(
  21. Olá pessoal, Estou com uma pequena dúvida de como realizar a seguinte tarefa: Em meu BD tenho a tabela VENDAS com diversas colunas, entre elas - as que interessam nesta minha dúvida - possuo valor e data. Imprimir dados: A impressao de dados consigo tranquilamente através de uma busca por faixa de datas através do WHERE data BETWEEN... Na query aplico SUM() na coluna vendas e então agrupo a soma por mês através do GROUP BY MONTH(data) E então aplico um _FETCH_ARRAY() para listar todos os resultados tendo uma saida assim: Mês || Valor Janeiro || $ 10.000 Fevereiro || $ 15.000 Março || $ 20.000 A necessidade: Tendo essa lista de valores agrupados por mês, eu preciso demonstrar a porcentagem de diferença de um mes para outro ficando desta forma: Mês || Valor || Variação Janeiro || $ 10.000 || 0% Fevereiro || $ 15.000 || 50% Março || $ 20.000 || 33,33% Tendo em vista que essa sera uma busca com resultado "dinamico", uma vez que o usuario podera aplicar qualquer faixa de data, alguém consegue me fornecer um caminho/ideia de como posso realizar essa tarefa? Vale ressaltar que fazer a conta eu sei rs ((mes_novo - mes_anterior)/mes_anterior)*100 - O que eu não sei é como aplicar isso na while de resultados Moderadores: Se for o caso, pode direcionar o topico para a área de PHP - já que minha programação é em PHP - caso não seja uma dúvida pertinente a somente MySQL
  22. Júlio Marçal

    Duvidas com msql_query

    Gostaria de saber oque estou fazendo de errado. ps: sou bem inexperiente, ja li algumas coisas mas nao cntendi muito bem class Sql{ public $host, $user, $pass, $query; public function __construct(){ mysqli_connect($this -> host = 'localhost', $this -> user = 'root', $this -> pass = '' ); mysqli_select_db('cadastro'); } public function query($qr){ $this -> query = mysqli_query($qr); return $this -> query; } public function retornar(){ return $this -> query; } } //$sql = new sql; $nome = $_POST{'nome'}; $login = $_POST{'login'}; $pwd = $_POST{'senha'}; $text = $_POST; if(empty($nome)){ echo "<script>alert('Preencha todos os campos para se cadastrar.'); history.back();</script>"; }elseif(empty($login)){ echo "<script>alert('Preencha todos os campos para se cadastrar.'); history.back();</script>"; }elseif(empty($pwd)){ echo "<script>alert('Preencha todos os campos para se cadastrar.'); history.back();</script>"; }else{ $query1 = mysqli_num_rows(mysqli_query("SELECT * FROM USUARIO WHERE LOGIN = '$login'")); if($query1 == 1){ echo "<script>alert('Usuário já existe.'); history.back();</script>"; }else{ mysqli_query("insert into usuario (nome, login, senha,'NULL') values ('$nome','$login','$pwd','$text')"); echo "<script>alert('Usuário cadastrado com sucesso.');</script>"; //echo "<script>location.href='pagina-do-cliente-login.php';</script>"; } } ?> Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\Program Files (x86)\EasyPHP-Devserver-16.1\eds-www\phpteste1\cadastro.php on line 30 Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in C:\Program Files (x86)\EasyPHP-Devserver-16.1\eds-www\phpteste1\cadastro.php on line 30 Notice: Array to string conversion in C:\Program Files (x86)\EasyPHP-Devserver-16.1\eds-www\phpteste1\cadastro.php on line 34 Warning: mysqli_query() expects at least 2 parameters, 1 given in C:\Program Files (x86)\EasyPHP-Devserver-16.1\eds-www\phpteste1\cadastro.php on line 34
  23. pitanga

    Lucene - Busca simples com query

    Estou tentando fazer buscas em um index feito com Lucene que me foi enviado. São buscas simples que não estão dando certo... package portugues; //https://lucene.apache.org/core/2_9_4/queryparsersyntax.html import java.nio.file.Paths; import javax.management.Query; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.index.DirectoryReader; import org.apache.lucene.index.IndexReader; import org.apache.lucene.queryparser.classic.QueryParser; import org.apache.lucene.search.IndexSearcher; import org.apache.lucene.store.FSDirectory; public class Buscador { public static void main(String[] args) { IndexReader reader = DirectoryReader.open(FSDirectory.open(Paths.get("/home/janaina/Bureau/projet_java/MyLuceneIndex"))); IndexSearcher searcher = new IndexSearcher(reader); Analyzer analyzer = new StandardAnalyzer(); QueryParser parser = new QueryParser("contents", analyzer); Query query1 = parser.parse("pomme"); Query query2 = parser.parse("pomme" AND "banane"); Query query3 = parser.parse("pomme" OR "banane"); Query query4 = parser.parse("pomme*"); System.out.println(query1); System.out.println(query2); System.out.println(query3); System.out.println(query4); } } Eu só preciso encontrar algumas palavras usando Query Parser Syntax. Desculpa se a pergunta é besta. É que sou iniciante... Obrigada! Se alguém tiver outra sugestão, agradeço também!
  24. Boa noite a todos! Preciso de uma Query que me retorne a soma de resultados por mês de uma consulta de um ano. Faço uma consulta de todos os registros num intervalo de um ano e preciso somar e agrupar os registros por mês. Tentei a seguinte Query: SELECT data, COUNT(data) AS repetidos FROM agendamentoconsulta WHERE data BETWEEN DATE('2017-01-01') AND DATE('2017-12-31') group by data, extract(MONTH from DATA) Ela soma os registros por dia porém não agrupa e soma eles por mês. Help me please rs Obrigado a todos!
  25. Bom dia pessoal. Gostaria de saber se é possível imprimir o resultado de uma busca de banco de dados separada por grupos. Segue exemplo de tabela-> +--------+------------------------+----------------+ | col_id | col_nome | col_grupo | +--------+------------------------+----------------+ | 1 | Martins | grupo 0| | 2 | Pinto | grupo 2| | 3 | Pedro | grupo 1| | 5 | Deolinda | grupo 1| | 6 | Russo | grupo 0| | 7 | Lourenço | grupo 2| +--------+------------------------+----------------+ Na hora de imprimir, gostaria de ficasse algo como o que segue: ----------------------------------------------------- Grupo 0: - Martins - Russo Grupo 1: - Pedro - Deolinda Grupo 2: - Pinto - Lourenço ------------------------------------------------------ A única forma que encontrei foi fazendo uma busca para cada grupo, mas se eu tiver 100 grupos seriam 100 querys e não acho viável. Desde já agradeço.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.