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

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

  • Conteúdo Similar

    • Por ViniciusHSAraujo
      Bom dia pessoal,
       
      Sou iniciante na área de desenvolvimento e estou fazendo um sistema para o comércio do meu pai para aprimorar meus conhecimentos em PHP e em lógica de programação no geral.
       
      O sistema já está quase pronto, só falta uns relatórios que estou gerando e estou com dificuldade em um:
       
      Quero gerar uma listagem com os últimos lançamentos agrupados pela data, tipo assim:
       

       
      No MySQL fiz o seguinte select:
      SELECT DATE_FORMAT(p.pontuacao_data, '%d/%m/%Y') AS dia, DATE_FORMAT(p.pontuacao_data, '%H:%i') AS horario, u.usuario_nome AS nome, p.usuario_telefone AS telefone, p.pontuacao_valor AS pontuacao_inserida FROM pontuacao p, usuario u WHERE u.usuario_telefone = p.usuario_telefone AND p.pontuacao_valor <> 0 ORDER BY pontuacao_data DESC Ele me retorna todas as informações que preciso, porém não faço ideia (e não soube explicar o google para fazer uma pesquisa que trouxesse o que preciso) como fazer para aparecer a data só no primeiro registro com tal data. 
       
      Como está atualmente:
      <table class="table table-bordered table-striped table-vcenter js-dataTable-full" id="historico_lancamentos"> <thead> <tr> <th class="text-center d-none d-sm-table-cell">Dia</th> <th class="text-center d-none d-sm-table-cell">Horario</th> <th class="text-center d-none d-sm-table-cell">Nome do CLiente</th> <th class="text-center d-none d-sm-table-cell">Telefone</th> <th class="text-center d-none d-sm-table-cell">Pontuação Inserida</th> </tr> </thead> <tbody> <?php foreach ($lancamentos as $lancamento) { ?> <tr role="row" class="odd"> <td class="text-center"><?=$lancamento['dia']?></td> <td class="text-center"><?=$lancamento['horario']?></td> <td class="text-center"><?=$lancamento['nome']?></td> <td class="text-center"><?=$lancamento['telefone']?></td> <td class="text-center"><?=$lancamento['pontuacao_inserida']?></td> </tr> <?php } ?> </tbody> </table>  
      Tô usando o plugin DataTables (https://datatables.net/) caso ajude em alguma coisa..
       
      Alguém poderia me dar uma ajuda aí? Agradeço desde já e espero que tenha conseguido explicar rsrs..
    • Por pzt
      Olá, galera. 
       
      Sou iniciante no php, tenho uma dúvida. Veja se podem me ajudar, por favor!
       
      ( [cd_produto] => 1 [ds_produto] => SAPATENIS PEGADA [ds_longa] => SAPATENIS PEGADA MARINHO 170502G2 [cd_marca] => 70 [cd_cor] => 22 [cd_tamanho] => 25 [peso_liquido] => 0.700000 [peso_bruto] => 0.700000 [altura] => 12.000000 [largura] => 21.000000 [profundidade] => 32.000000 [cubagem] => 0.00810000 [vl_venda] => 140.90 [qt_estoque] => 1.00 [ds_categoria] => SAPATENIS [ds_cor] => MARINHO [ds_tamanho] => 43 ) ( [cd_produto] => 1 [ds_produto] => SAPATENIS PEGADA [ds_longa] => SAPATENIS PEGADA MARINHO 170502G2 [cd_marca] => 70 [cd_cor] => 22 [cd_tamanho] => 26 [peso_liquido] => 0.700000 [peso_bruto] => 0.700000 [altura] => 12.000000 [largura] => 21.000000 [profundidade] => 32.000000 [cubagem] => 0.00810000 [vl_venda] => 140.90 [qt_estoque] => 2.00 [ds_categoria] => SAPATENIS [ds_cor] => MARINHO [ds_tamanho] => 44 ) ( [cd_produto] => 1 [ds_produto] => SAPATENIS PEGADA [ds_longa] => SAPATENIS PEGADA MARINHO 170502G2 [cd_marca] => 70 [cd_cor] => 22 [cd_tamanho] => 27 [peso_liquido] => 0.700000 [peso_bruto] => 0.700000 [altura] => 12.000000 [largura] => 21.000000 [profundidade] => 32.000000 [cubagem] => 0.00810000 [vl_venda] => 140.90 [qt_estoque] => 5.00 [ds_categoria] => SAPATENIS [ds_cor] => MARINHO [ds_tamanho] => 45 )  
      Em cada chave, a descrição é a mesma, o valor também, mas alguns itens, como qt_estoque, ds_categoria, ds_cor e ds_tamanho, são diferentes. 
       
      Eu precisaria agrupar tudo em um único array, quando a ds_longa for igual. 
       
      Segue o script: 
      $Select = new Select; $Select->FullSelect('SELECT * FROM produto LEFT OUTER JOIN produto_categoria ON produto.cd_produto = produto_categoria.cd_produto LEFT OUTER JOIN categoria ON produto_categoria.cd_categoria = categoria.cd_categoria LEFT OUTER JOIN cor ON cor.cd_cor = produto.cd_cor LEFT OUTER JOIN tamanho ON tamanho.cd_tamanho = produto.cd_tamanho'); if ($Select->getResult()): $Products = $Select->getResult(); foreach ($Products as $Product): print_r($Product); endforeach; endif;  
      O que podem me ajudar?
      Desde já, muito obrigado! 
       
       
    • Por ndias
      select distinct(CampoConhecimento ) as CampoConhecimento, cc.NivelConhecimento, COUNT(DISTINCT(cc.id)) as Qtde from tabelaConhecimento cc inner join tabelaCadastro cv on cv.Id = cc.id group by cc.CampoConhecimento,cc. NivelConhecimento order by cc.CampoConhecimento asc  
      CampoConhecimento           NivelConhecimento         Qtde
      Access                                                1                                        29799
      Access                                                2                                        7951
      Access                                                3                                        2014
       
      Eu gostaria que o resutado fosse assim:
       
      CampoConhecimento          QtdeNivelConhecimento1          QtdeNivelConhecimento2          QtdeNivelConhecimento3 
      Access                                                     29799                                             7951                                               2014
       
      tem como?
    • Por androide
      Boa tarde,
       
      Estou com um problema relacionado a ordenação e customização do mesmo.
      Tenho uma tabela de menus que constam as colunas id, id_parent, titulo,  ordem
      onde possuem a seguinte construção:
      CREATE TABLE `menus_subsites_itens` ( `id` int(11) NOT NULL AUTO_INCREMENT, `id_parent` int(11) DEFAULT NULL, `titulo` varchar(45) NOT NULL, `ordem` float NOT NULL DEFAULT '0' ) ENGINE=InnoDB DEFAULT CHARSET=latin1 o id_parent quando aplicado será do id do pai, a ordem recebe no momento da criação o mesmo valor do id para seguir o padrão de ordenação.
      O ordem quando modificado pode receber um float dependendo da posição que será colocado tipo entre 1 e 2 executo uma formula (1/2)+1, se quero colocar o item depois do 2 executo a formula (1/2) + 2 antes do 1 executo a formula  (1/2)
       
      Encontrei o seguinte código sobre agrupamentos na consulta:
      select * from menus_subsites_itens order by COALESCE(id_parent, id),id_parent is not null, ordem;  
      Ele funciona bem, se a ordem possui sincronismo, porém se desejo criar um novo subitem tipo id 30 com ordem 30 e quiser colocá-lo como subitem de um item do topo, a construção coalesce, não funciona adequadamente, pois coloca na parte inferior fora do subitens .
       
      Existe uma forma melhor para que consiga fazer os agrupamentos e ordenações corretamente, podendo muda-las sem tantos transtornos?
       
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.