Jump to content

Search the Community

Showing results for tags 'Foreach'.



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 75 results

  1. Olá colegas, eu venho avançando a cada dia na programação em PHP mas eu travei em uma estrutura e queria a ajuda dos colegas mais experientes. Eu tenho 3 tabelas: Adm_Funcionarios_Usuarios - contem login e senha # login, senha jose, 1234 Sis_Setores: aonde tem os nomes dos módulos e os links dele. Ex. Administrativo, Financeiro, etc. # linkNome link administrativo administrativo.php financeiro financeiro.php vendas vendas.php Adm_Funcionarios_Usuarios_Acessos - contem login e módulos # login, autorizados jose, administrativo, financeiro Hoje eu só uso o menu carregando todas as opções $sql = "SELECT * FROM Sis_Setores WHERE linkNome = '$Sistema' AND situacao = 1;"; $return = mysqli_query($conexao, $sql) or trigger_error(" Query falhou! SQL: $sql - Error: ".mysqli_error(), E_USER_ERROR); while($LinhaMenu = mysqli_fetch_assoc($return)) { echo '<a href="'.$LinhaMenu["link"].'" target="_self">'.$LinhaMenu["linkNome"]."</a>"; } O que eu estou tentando fazer é: (levando em consideração que eu já tenha as informações do usuário logado) 1 - Verifica quem é a pessoa logada / Já tenho isso pronto 2 - Verifica se a pessoa logada existe na tabela Adm_Funcionarios_Usuarios_Acessos no campo login / Já tenho isso pronto Não estou conseguindo fazer 3 - Verifica na tabela Adm_Funcionarios_Usuarios_Acessos o campo autorizados os módulos que serão carregados 4 - Percorre a array com os valores, exemplo: administrativo, vendas 5 - Se existe na array a palavra administrativo que também existe no campo linkNome da tabela Sis_Setores 6 - Carrega no menu apenas os links que existem dentro da array. O que eu tentei fazer sem sucesso (coisas de café com leite): $sql = "SELECT autorizados FROM Adm_Funcionarios_Usuarios_Acessos WHERE iduser = 1;"; $return = mysqli_query($conexao, $sql) or die(mysqli_error($conexao)); if(!$result = mysqli_fetch_array($return)) { echo "Deu Ruim no SQL dos Acessos"; } else { $autorizados = $result["autorizados"]; //echo $autorizados; foreach($autorizados as $valor) { $sql = "SELECT * FROM Sis_Setores WHERE linkNome = '$autorizados' AND situacao = 1;"; $return = mysqli_query($conexao, $sql) or trigger_error(" Query falhou! SQL: $sql - Error: ".mysqli_error(), E_USER_ERROR); while($LinhaMenu = mysqli_fetch_assoc($LinksSubSistema)) { echo '<a href="'.$LinhaMenu["link"].'" target="_self">'.$LinhaMenu["linkNome"]."</a>".$br; } } } O erro que dá é Warning: Invalid argument supplied for foreach() in testeArray.php on line 50 //Linha 50 -> foreach($autorizados as $valor) Agradeço desde já aos colegas.
  2. Boa noite, pessoal Gostaria de saber como faço para pegar gets repetidos na url, exemplo: pagina?a=1&b=2&a=2&a=5 Preciso pegar todos os valores de a, complicar e exibir no SELECT. Como? Assim: esse -> valores de a SELECT * FROM table WHERE esse = 1 AND esse = 2 AND esse = 3 AND esse = 5; Alguém tem algum raciocínio pra isso? Obrigado a todos pela ajuda.
  3. Caio_Lourençon

    Dúvidas sobre listagem de dados!

    Olá estou desenvolvendo um projeto utilizando a extensão MySQLi, e nisso aproveitando para utilizar algumas funções orientada a objeto! Gostaria de tirar umas dúvidas em relação a listagem de dados, são duas perguntas: 1) Utilizar a função foreach() ao invés de um while() com a função fetch_array() dentro, tem uma listagem mais rápida ou mais lenta? Pois com ambas consigo trazer os dados, No momento estou utilizando a foreach por ser mais rápida de se digitar. 2) Utilizo muitas listagens de tabelas diferentes na mesma página sempre chamando um novo SELECT, seria melhor criar uma função com um SELECT dentro para eu sempre reutiliza-lá ou não iria mudar muita coisa em questão de desempenho? Agradeço qualquer informação.
  4. -- Controller Lista os dados do usuário no card public function listardados(){ $matricula = Matricula::where('user_id', Auth::id())->get(); //dd($matricula); return view('dashboard.renovacao.teste', compact( 'matricula')); } -- Controller Salvar os Registros public function store(RenovacaoRequest $request){ $user = Auth()->user(); $dados = $request->all(); $renovacao = Renovacao::create($dados); return view('dashboard.renovacao.confirmacao', compact ('renovacao')); } -- View form @extends('layouts.app') @section('content') <div class="container"> <div class="row"> <form class="form-horizontal " id="regForm" action="{{route('renovacao.store')}}" method="POST"> <div class="card-panel white"> <h4 class="center">Solicitar Renovação</h4> <div class="row"></div> {{ csrf_field()}} <right> <a>**Dados Cadastrados**</a> </right> <div class="row"></div> <div class="row"></div> <div class="row"> @foreach($matricula as $matric) <div class="row"> <div class="col s6 m6"> <div class="input-field {{$errors->has('user_id') ? 'has-error' : ''}} "> <label for="produto">Nome do Pai:</label> <input type="text" class="form-control" name="nomerespo" value="{{ $matric->nomedopai }}"> </div> </div> <div class="col s6 m6"> <div class="input-field {{$errors->has('user_id') ? 'has-error' : ''}} "> <label for="produto">Nome do Aluno(a):</label> <input type="text" class="form-control" name="nomealuno" value="{{ $matric->nomealuno }}"> </div> </div> </div> @endforeach <div class = "row"> <div class="col s12"> <a title="Voltar Para Página Principal" class="btn orange darken-4 btn-info left " href="/admin">Voltar <i class="material-icons left">arrow_back_ios</i> </a> <button type="submit" class="btn orange darken-4 btn-info right">Confirmar <i class="material-icons left">save</i> </button> </div> </div> </div> </div> </form> </div> </div> @endsection No id do usuário ele tem 2 registro só que na hora de salvar ele só salva 1 registro e não os 2 como deveria Como Código acima Utilizando dd($dados) ; ele retorna isso e não traz os outros formulários que estava preenchidos que são as mesma coisa array:3 [▼ "_token" => "MZOBw295E6W5SEtPPnsvV4seev2GeH3M94rsrI71" "nomerespo" => "Mario" "nomealuno" => "Maria Joaquina" ] 1- Ele traz da tabela matricula o user_id relacionado ao usuário logado, automaticamente ele traz e joga no form e nele usuário verificar o nome do responsável e o nome do filho e clica no botão para salvar para confirmar. print -> https://prnt.sc/llsn19 2 - Depois que salva o adm vai na aba relatório para verificar se todos os campos foram salvo só que ele só ta salvando o ultimo nome do aluno e do pai queria que salve todos os dados... como estava no primeiro print. print tela do adm -> https://prnt.sc/llsof3
  5. Guilherme Luiz

    Fputcsv insere apenas uma linha

    Olá pessoal, Estou com um problema para escrever um arquivo csv utilizando a função FPUTCSV. <?php $queryList = "SELECT wzap.id as id, wzap.mobile as mobile, wzap.ddi as ddi, wzap.pushname as pushname, wzap.photo as photo, wzap.dlr_date as dataDlr, case when wzap.status = '0' then 'Pendente' when wzap.status = '1' then 'Enviado' when wzap.status = '2' then 'Entregue' when wzap.status = '3' then 'Não entregue' when wzap.status = '4' then 'Rejeitado' when wzap.status = '5' then 'Expirou' when wzap.status = '6' then 'Agendado' when wzap.status = '7' then 'Falha' end as status, case when wzap.status = '1' and wzap.substatus = '1' then 'Processado' when wzap.status = '2' and wzap.substatus = '1' then 'Ok' when wzap.status = '6' and wzap.substatus = '1' then 'Processado' when wzap.status = '7' and wzap.substatus = '1' then 'Sem saldo' when wzap.status = '7' and wzap.substatus = '2' then 'Erro no processamento' end as descricao, wzap.cost as tarifa, wzap.currency as moeda, wzap.text as texto, w.country as pais, channel.name as canalNome FROM wzap_mt as wzap INNER JOIN worldwide as w ON w.ddi = wzap.ddi LEFT JOIN wzap_channel as channel ON channel.id = wzap.channel_id WHERE wzap.user_id='{$userID}' and wzap.channel_id {$canalID} and wzap.dlr_date BETWEEN '".$inicio." 00:00:00' and '".$final." 23:59:59' UNION ALL SELECT wzap.id as id, wzap.mobile as mobile, wzap.ddi as ddi, null as pushname, null as photo, wzap.dlr_date as dataDlr, case when wzap.status = '0' then 'Pendente' when wzap.status = '1' then 'Enviado' when wzap.status = '2' then 'Entregue' when wzap.status = '3' then 'Não entregue' when wzap.status = '4' then 'Rejeitado' when wzap.status = '5' then 'Expirou' when wzap.status = '6' then 'Agendado' when wzap.status = '7' then 'Falha' end as status, case when wzap.status = '1' and wzap.substatus = '1' then 'Processado' when wzap.status = '2' and wzap.substatus = '1' then 'Ok' when wzap.status = '6' and wzap.substatus = '1' then 'Processado' when wzap.status = '7' and wzap.substatus = '1' then 'Sem saldo' when wzap.status = '7' and wzap.substatus = '2' then 'Erro no processamento' end as descricao, wzap.cost as tarifa, wzap.currency as moeda, wzap.text as texto, w.country as pais, channel.name as canalNome FROM wzap_mt_temp as wzap INNER JOIN worldwide as w ON w.ddi = wzap.ddi LEFT JOIN wzap_channel as channel ON channel.id = wzap.channel_id WHERE wzap.user_id='{$userID}' and wzap.channel_id {$canalID} and wzap.dlr_date BETWEEN '".$inicio." 00:00:00' and '".$final." 23:59:59' UNION ALL SELECT wzap.id as id, wzap.mobile as mobile, wzap.ddi as ddi, wzap.pushname as pushname, wzap.photo as photo, wzap.dlr_date as dataDlr, case when wzap.status = '8' then 'Recebido' end as status, case when wzap.status = '8' and wzap.substatus = '1' then 'Resposta recebida' end as descricao, wzap.cost as tarifa, wzap.currency as moeda, wzap.text as texto, w.country as pais, channel.name as canalNome FROM wzap_mo as wzap INNER JOIN worldwide as w ON w.ddi = wzap.ddi LEFT JOIN wzap_channel as channel ON channel.id = wzap.channel_id WHERE wzap.user_id='{$userID}' and wzap.channel_id {$canalID} and wzap.dlr_date BETWEEN '".$inicio." 00:00:00' and '".$final." 23:59:59' ORDER BY dataDlr DESC"; $sqlList = mysqli_query($connect_sql,$queryList); while($data = mysqli_fetch_assoc($sqlList)){ $stats[] = [ "id" => $data['id'], "mobile" => $data['mobile'], "pais" => $data['pais'], "nome" => $data['pushname'], "canal" => $data['canalNome'], "dataDlr" => date("d/m/y H:i:sa", strtotime($data['dataDlr'])), "status" => $data['status'], "desc" => $data['descricao'], "tarifa" => $data['tarifa'], "moeda" => $data['moeda'], "texto" => $data['texto'] ]; } $filename = sha1($userID.date("Y-m-d").rand(1,100000)); $header = ["ID","Número","País","Nome","Canal","DataStatus","Status","Descrição","Tarifa","Moeda","Texto"]; $file = fopen(BASEPATH."/export/{$filename}.csv", 'w'); //TRECHO PROBLEMATICO ABAIXO fputs($file, $bom =( chr(0xEF) . chr(0xBB) . chr(0xBF) )); fputcsv($file,$header,","); foreach ($stats as $line) { fputcsv($file, $line,","); } //TRECHO PROBLEMATICO ACIMA $fileSize = filesize(BASEPATH."/export/{$filename}.csv"); ?> Meu código traz uma lista de uma consulta do meu banco de dados que fica salva no array $stats. Ao fazer o debug do array $stats vejo que os dados são recebidos perfeitamente neste modelo Array ( [id] => 25 [mobile] => 5511945658451 [pais] => Brasil [nome] => Guilherme [canal] => guilherme business [dataDlr] => 19/11/18 11:51:36am [status] => Entregue [desc] => Ok [tarifa] => 0.1 [moeda] => BRL [texto] => envio via portal - teste de agenda - 11h50m ) Array ( [id] => 28 [mobile] => 5511950917200 [pais] => Brasil [nome] => Comercial [canal] => guilherme business [dataDlr] => 19/11/18 11:51:27am [status] => Entregue [desc] => Ok [tarifa] => 0.1 [moeda] => BRL [texto] => envio via portal - teste de agenda - 11h50m ) Ao fazer o debug também do foreach da variavel $line eu também tenho todos os dados ou seja, minha busca no bd está ok e meu foreach também. Assim deveria ser escrito meu CSV onde cada indice do array $stats é uma linha separados por virgula. Porem meu csv quando visualizo, traz apenas uma linha no seguinte formato ID,Número,País,Nome,Canal,DataStatus,Status,Descrição,Tarifa,Moeda,Texto 27,5511945658451,Brasil,Guilherme,"guilherme business","21/11/18 13:16:41pm",Entregue,Ok,0.1,BRL,"teste foto perfil Já tentei de tudo e não consigo identificar o porque meu fputcsv está escrevendo apenas uma linha do meu array. Vendo este código alguem conseguiria me dar uma luz/orientação?
  6. Alessandro Silva_116859

    Argumento inválido fornecido para foreach

    public function activate( $purchase, $args ) { $data = array( 'api_key' => $args['token'], 'theme' => ETHEME_PREFIX, 'purchase' => $purchase, ); foreach ( $args as $key => $value ) { $data['item'][$key] = $value; } Erro nº 1 na linha 'api_key => $args ['token'] >>> Warning: Illegal string offset 'token' in /.../version-check.php on line 296 Erro nº 2 na linha foreach ( $args as $key => $value ) { >>> Warning: Invalid argument supplied for foreach() in /.../version-check.php on line 300
  7. Fabio G

    Foreach pegando só um registro

    Estou desenvolvendo uma tela de cadastro de fornecedor, porem o meu foreach está pegando só o ultimo registro num total de 3 registros. O que eu possa estar fazendo de errado? Abaixo o meu código e em anexo a minha tela. Muito obrigado <thead> <tr style="background-color: #CEF6EC"> <th>ID</th> <th>Nome Fornecedor</th> <th class="d-none d-sm-table-cell">Contato</th> <th class="d-none d-lg-table-cell">Telefone</th> <th width="100" class="text-center">Ações</th> </tr> </thead> <tbody> <?php $sql = "SELECT id,nome,con,tel FROM cad_for "; $sql = $pdo->query($sql); If($sql->rowCount()>0){ foreach($sql->fetchAll() as $fornecedor){ } } ?> <tr> <td><?php echo $fornecedor['id']; ?></td> <td><?php echo $fornecedor['nome']; ?></td> <td class="d-none d-sm-table-cell"><?php echo $fornecedor['con']; ?></td> <td class="d-none d-lg-table-cell"><?php echo $fornecedor['tel']; ?></td> <td> <a href="visualizar.php?id=<?php echo $fornecedor['id']; ?>" class="btn btn-outline-primary btn-sm" data-toggle="tooltip" data-placement="left" title="Visualizar"><i class="fas fa-eye"></i></a> <a href="editar.php?id=<?php echo $fornecedor['id']; ?>" class="btn btn-outline-warning btn-sm" data-toggle="tooltip" data-placement="left" title="Editar cadastro"><i class="fa fa-fw fa-edit"></i></a> </td> </tr>
  8. gust.php

    foreach com datatable não funciona

    Prezados, Estou tentando usar o datatable com foreach no php e não funciona, ou melhor, funciona quando carrega apenas um registro, se existirem mais registros não funciona, quando recarrego a página para de funcionar tbm. Podem ajudar? Estou usando assim: <table class="table table-responsive" id="tableIndexPedido"> <thead> <tr> <th>User</th> <th>Data</th> <th>Hora</th> <th>Serviço</th> <th data-priority="1">Açao</th> </tr> </thead> <?php foreach ($this->pedido as $p): ?> <tr> <td><?= $p->getUser()->getNome(); ?></td> <td><?= $p->getDATA_INICIO()->format("d/m/Y"); ?></td> <td><?= $p->getHORA_INICIO()->format("H:i"); ?></td> <td><h6><?= \wordwrap($p->getDESCRICAO(), 70, "<br>"); ?></h6></td> <td> <a href="<?= $this->url('servico', array('action' => 'pedidoServico', 'id' => $p->getIDPEDIDO())); ?>"><span class="label label-primary">Confirma</span></a> <a href="<?= $this->url('user', array('action' => 'deletaPedidoServico', 'id' => $p->getIDPEDIDO())); ?>"><span class="label label-danger">Cancela</span></a> </td> </tr> <?php endforeach; ?> </table> <script> $(document).ready(function() { $('#tableIndexPedido').dataTable({ "responsive": true, "bPaginate": false, "ordering": false, "info": false, "searching": false, "columnDefs": [ { responsivePriority: 1, targets: 0 }, { responsivePriority: 2, targets: 4 } ] } ); } ); </script>
  9. Boca

    Agrupar Array

    Pessoal, bom dia Tenho o seguinte array que puxo do banco de dados, para puxar serviços, estou precisando agrupar os serviços para que sejam exibidos da seguinte forma. Navio Hotel Alimentação Seguro Ou seja preciso agrupar os serviços com o mesmo ID, não posso colocar no banco um simples group by pois irei fazer um sub select com os produtos de cada serviço contratado Array ( [0] => stdClass Object ( [servico_id] => 10 [produto_id] => 19 [servico_nome] => Navio ) [1] => stdClass Object ( [servico_id] => 7 [produto_id] => 18 [servico_nome] => Hotel ) [2] => stdClass Object ( [servico_id] => 12 [produto_id] => 20 [servico_nome] => Alimentação ) [3] => stdClass Object ( [servico_id] => 9 [produto_id] => 11 [servico_nome] => Seguro ) [4] => stdClass Object ( [servico_id] => 10 [produto_id] => 13 [servico_nome] => Navio ) [5] => stdClass Object ( [servico_id] => 9 [produto_id] => 10 [servico_nome] => Seguro ) [6] => stdClass Object ( [servico_id] => 9 [produto_id] => 10 [servico_nome] => Seguro ) )
  10. Prezados, Estou tentando usar o datatable com foreach no php e não funciona, ou melhor, funciona quando carrega apenas um registro, se existirem mais registros não funciona, quando recarrego a página para de funcionar tbm. Podem ajudar? Estou usando assim: <table class="table table-responsive" id="tableIndexPedido"> <thead> <tr> <th>User</th> <th>Data</th> <th>Hora</th> <th>Serviço</th> <th data-priority="1">Açao</th> </tr> </thead> <?php foreach ($this->pedido as $p): ?> <tr> <td><?= $p->getUser()->getNOME(); ?> </td> <td><?= $p->getDATA_INICIO()->format("d/m/Y"); ?></td> <td><?= $p->getHORA_INICIO()->format("H:i"); ?></td> <td><h6><?= \wordwrap($p->getDESCRICAO(), 70, "<br>"); ?></h6></td> <td> <a href="<?= $this->url('servico', array('action' => 'pedidoServico', 'id' => $p->getIDPEDIDO())); ?>"><span class="label label-primary">Confirma</span></a> <a href="<?= $this->url('user', array('action' => 'deletaPedidoServico', 'id' => $p->getIDPEDIDO())); ?>"><span class="label label-danger">Cancela</span></a> </td> </tr> <?php endforeach; ?> </table> <script> $(document).ready(function() { $('#tableIndexPedido').dataTable({ "responsive": true, "bPaginate": false, "ordering": false, "info": false, "searching": false, "columnDefs": [ { responsivePriority: 1, targets: 0 }, { responsivePriority: 2, targets: 4 } ] } ); } ); </script>
  11. AllysonSouza

    funcao Foreach

    Bom, estou com um problema no meu código aqui, não liguem pelo código esta feio, esta documentando, e está funcionando, bom o meu problema é com a funcao FOREACH, não sei usar muito bem, to com um site aonde eu adiciono os produtos ao carrinho, e ali ponho a quantidade que quero, até ai funciona, mas alem de quantidade eu queria botar outro campo metros, pois é de madeiras, ali o cliente botaria o tamanho da madeira, ex: 3.5, ai ele atualizaria o valor da unidade e do total, enfim ja tentei de todos os jeitos e nenhum deu certo, até pq não sei fazer o devido uso do FOREACH, codigo a baixo.. <?php session_start(); if(!isset($_SESSION['carrinho'])){ $_SESSION['carrinho'] = array(); } //adiciona produto if(isset($_GET['acao'])){ //ADICIONAR CARRINHO if($_GET['acao'] == 'add'){ $id = intval($_GET['id']); if(!isset($_SESSION['carrinho'][$id])){ $_SESSION['carrinho'][$id] = 1; } else { $_SESSION['carrinho'][$id] += 1; } } //REMOVER CARRINHO if($_GET['acao'] == 'del'){ $id = intval($_GET['id']); if(isset($_SESSION['carrinho'][$id])){ unset($_SESSION['carrinho'][$id]); } } //ALTERAR QUANTIDADE AQUI O PROBLEMA, aonde eu tento botar os METROS if($_GET['acao'] == 'up'){ if(is_array($_POST['prod'])){ foreach($_POST['prod'] as $id => $qtd){ foreach($_POST['prod'] as $id => $mt){ $id = intval($id); $qtd = intval($qtd); $mt = intval($mt); if(!empty($qtd && $mt) || $qtd && $mt <> 0){ $_SESSION['carrinho'][$id] = $qtd; $_SESSION['carrinho'][$id] = $mt; }else{ unset($_SESSION['carrinho'][$id]); } } } } } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>s</title> </head> <body> <table> <caption>Carrinho de Compras</caption> <thead> <tr> <th width="244">Produto</th> <th width="79">Quantidade</th> <th width="79">Metros</th> <th width="89">Preco</th> <th width="100">SubTotal</th> <th width="64">Remover</th> </tr> </thead> <form action="?acao=up" method="post"> <tfoot> <tr> <td colspan="5"><input type="submit" value="Atualizar Carrinho" /></td> <tr> <td colspan="5"><a href="teste.php">Continuar Comprando</a></td> </tfoot> <tbody> <?php if(count($_SESSION['carrinho']) == 0){ echo ' <tr> <td colspan="5">Não há produto no carrinho</td> </tr> '; } else { require("conexao.php"); $total = 0; foreach($_SESSION['carrinho'] as $id => $qtd){ foreach($_SESSION['carrinho'] as $id => $mt){ $sql = "SELECT p.id AS idProd, p.nome AS produto, p.largura, p.comprimento, p.estilo, p.valor, p.valorCompra, p.estoque, p.imagem, c.id AS idCat, c.nome AS categoria, p.vendidos, p.tipo, p.detalhe FROM produtos p INNER JOIN categorias c ON p.categorias_id=c.id ORDER BY p.nome ASC"; $res = mysqli_query($con, $sql); $linha = mysqli_fetch_array($res); $nome = $linha['produto']; $preco = number_format($linha['valor'], 2, ',', '.'); $sub = number_format($linha['valor'] * $qtd, 2, ',', '.'); $total += $linha['valor'] * $qtd; echo ' <tr> <td>'.$nome.'</td> <td><input type="text" size="3" name="prod['.$id.']" value="'.$qtd.'" /></td> <td><input type="text" size="3" name="prod['.$id.']" value="'.$mt.'" /></td> <td>R$ '.$preco.'</td> <td>R$ '.$sub.'</td> <td><a href="?acao=del&id='.$id.'">Remove</a></td> </tr>'; } $total = number_format($total, 2, ',', '.'); echo '<tr> <td colspan="4">Total</td> <td>R$ '.$total.'</td> </tr>'; } } ?> </tbody> </form> </table> </body> </html> .
  12. Suellen Oliveira

    Junção de arrays

    Olá, preciso juntar alguns arrays secundários a um array principal de acordo com conteúdos presentes nestes arrays. Exemplo: Array principal Array( Array( [0] => array( "id_loja" => 123 "id_subloja" => 111 "nm_loja" => "teste" ) ) ) Exemplo de array secundário: Array( Array( [0] => ( "id_loja" => 123 "id_subloja" => 111 "id_forn" => 9 ) ) ) Imaginando esta situação com n registros em cada array e com vários arrays secundários, qual seria a melhor forma de obter o seguinte resultado: Array( array( [0] => ( "id_loja" => 123, "id_subloja" => 111, "nm_loja" => "teste", "id_forn" => 9, "qtd" => 765 ) ) ) O que preciso que aconteça é que o array principal receba diversos campos de outros arrays onde o id_loja e o id_subloja for igual. Eu fiz o seguinte: Foreach($arrayPrincipal as $p => $value){ Foreach($arraySecundario1 as $s => $dados){ If( $arrayPrincipal[$p]['id_loja'] == $arraySecundario1[$s]['id_loja'] && $arrayPrincipal[$p]['id_subloja'] == $arraySecundario1[$s]['id_subloja'] ) { $arrayPrincipal[$p]['id_forn'] = $arraySecundario1[$s]['id_forn']; } } } Isso funciona, ok, mas não é nada performático sendo que normalmente o array principal terá mais de mil registros e cada array secundários (que podem variar de 1 a 15) podem ter o mesmo número de registros do principal ou não. Como eu posso fazer essa junção de arrays de forma performática sendo que na atual situação preciso loopar e comparar conteúdos dos arrays?
  13. danipereira

    [Resolvido] Dúvida básica de foreach

    Dúvida bem básica: Tenho duas tabelas: produtos e reservas. Preciso listar os produtos que NÃO constam na reserva por um determinada período. Faço com um innerJoin e um foreach de produtos com if($produto!=$reserva_id) ou dois foreach sendo um com reservas e depois nos produtos != reservas naquele período? Não tou conseguindo fazer a listagem corretamente. -----PRODUTO--------------RESERVAS------------ produto_id reserva_id produto_nome produto_id produto_status data_reserva ------------------------------------------------ "SELECT imoveis.imv_id, imoveis_reservas.imv_id FROM imoveis INNER JOIN imoveis_reservas ON imoveis.imv_id =imoveis_reservas.imv_id"
  14. plima

    Foreach em php 5.3.10 - Ubuntu 12.4

    Senhores boa tarde. Estou precisando muito de uma ajuda quanto ao Foreach. Preciso extrair do array abaixo, o valor do campo destacado mas não estou conseguindo sozinho. Por favor, alguêm pode me ajudar ? array(3) { ["errors"]=> array(2) { ["code"]=> string(2) "OK" ["description"]=> string(20) "Nenhum erro ocorreu." } ["itemsList"]=> array(5) { ["itemName"]=> string(11) "Central.ATA" ["dataType"]=> string(7) "BOOLEAN" ["value"]=> bool(false) // <---- este valor ["quality"]=> string(4) "GOOD" ["timestamp"]=> string(24) "2018-04-17T14:55:48.928Z" } ["replyBase"]=> array(2) { ["rcvTime"]=> string(24) "2018-04-17T14:55:53.832Z" ["replyTime"]=> string(24) "2018-04-17T14:55:53.836Z" } } Desde já agradeço pela ajuda. Paulo.
  15. Olá! Tenho uma página de anúncios de imóveis aonde cada uma delas <li> exibe a imagem, características do imóvel e uma img de coração que ao ser clicada o adiciona em favoritos. Mas desejo que o coração preenchido só seja exibido quando este imóvel constar nos favoritos, que é armazenado em sessão; sem que haja multiplicações de imóveis, como acontece atualmente. VEJA AQUI O QUE ACONTECE <div style="display:none;height:36px;" class="tips"><?=__FILE__?></div> <?php include "bloco_favoritos.php"; /* Todos os anúncios em destaque e ativos com limite pré determinado no vipmin, é exibido na home. */ $ordem = 'rand()'; $sql = "select * from team where ehdestaque = 'Y' and (status is null or status = 1) and (pago = 'sim' or anunciogratis = 's') and begin_time < '".time()."' and end_time > '".time()."' order by $ordem limit ".$INI['system']['qtde_anuncios_destaque_home']; $rs = mysql_query($sql); ?> <div style="text-align:center;clear:both;"><h1><?=utf8_decode($INI['system']['txt2'])?></h1></div> <div class="row-fluid"> <ul class="thumbnails"> <?php while($anuncio = mysql_fetch_assoc($rs)) { unset($vagas); unset ($quartos); /* Caso não tenha nenhuma imagem em destaque. */ //if(empty($anuncio["imgdestaque"])) { //$anuncio["imgdestaque"] = $PATHSKIN . "/images/semfoto.jpg"; //} /* Informações como cidade, estado e bairro são buscados para ser impresso. */ $sqlC = "select nome from cidades where id = " . $anuncio["city_id"]; $rsC = mysql_query($sqlC); $cidade = mysql_fetch_assoc($rsC); if(!(empty($anuncio["imob_estado"])) && !(empty($cidade["nome"]))) { $localizacao = $anuncio["imob_estado"] . " - " . $cidade["nome"]; } if(!(empty($anuncio["imob_tipo"]))) { $sqlT = "select nome from tipoimoveis where id = '" . $anuncio["imob_tipo"] . "'"; $rsT = mysql_query($sqlT); $tipo = mysql_fetch_assoc($rsT); } else { $bairro = utf8_decode("Bairro não informado."); } /* Número de vagas e de quartos são exibidos juntamente com o thumb do anúncio. */ if(!(empty($anuncio["imob_vagas"]))) { $vagas = "Total de vagas: " . $anuncio["imob_vagas"]; } if(!(empty($anuncio["imob_quartos"]))) { $quartos = "Total de quartos: " . $anuncio["imob_quartos"]; } $url = UrlAnuncio($anuncio["id"]); /* Caso o $anuncio seja igual a 2, então se trata dos anúncios nos favoritos. */ foreach($_SESSION["IdAnuncio"] as $IdAnuncio => $idOffer) { $sql = "select * from team where id = " . $idOffer; $busca = mysql_query($sql); /* Imprime os anúncios, de acordo com o que se encontra armazenado na sessão. */ while($anuncios = mysql_fetch_assoc($busca)) { // PRECISO QUE O HEART FULL SEJA EXIBIDO APENAS QUANDO O IMÓVEL ESTIVER FAVORITADO // E QUE NÃO HAJA MULTIPLICAÇÃO DOS MESMOS IMÓVEIS, DIVERSAS VEZES. if ($anuncio["image"] == $anuncios["image"]){ $heart = "heart_full.png"; } else{ $heart = "heart_empty.png"; } ?> <li style="background-color:#fff;" class="span3"> <a href="<?php echo $url; ?>"> <div style="background: #FFFFFF; opacity: 0.7; position: absolute; margin: 124px 0px 0px 5px; color:#000; letter-spacing: 0px; padding: 5px; line-height: 15px; font-size: 12px;font-weight: bold; width: 202px; height: 30px;"> <?php echo utf8_decode($anuncio["title"]);?> </div> </a> <div class="thumbnail"> <button data-id="<?php echo $anuncio["id"]; ?>" class="btn btn-favorito" style="position: absolute; background: transparent; border: none; box-shadow: none; -moz-box-shadow: none; -o-box-shadow: none; margin-left: 170px; /*top: 88px;*/"><img src="<?php echo $PATHSKIN . "/images/".$heart;?>" style="width: 20px; height: auto;"></button> <a href="<?php echo $url; ?>"> <img src="<?php echo $ROOTPATH; ?>/media/<?php echo $anuncio["image"]; ?>" style="width: 212px; height: 159px;" alt="221x159" data-src="holder.js/221x159"> <!-- <img src="<?php echo $ROOTPATH; ?>/media/<?php echo $anuncio["imgdestaque"]; ?>" style="width: 212px; height: 159px;" alt="221x159" data-src="holder.js/221x159"> --> </a> <div class="caption"> <div id="loc_364" class="textoLanc02"> <?php echo $localizacao; ?> </div> <div class="textoLanc03"> <?php echo utf8_decode("Imóvel: " . $tipo["nome"]); ?> </div> <div class="textoLanc04"> <ul> <li class="Residencial Parc Mantova " id="nomeEmpreendimento_364"> <?php echo $quartos; ?> </li> <li> <?php echo $vagas; ?> </li> </ul> </div> <div style="height:10px;"></div> <a href="<?php echo $url; ?>"> <div id="364" class="btn btn-netimoveis detalheEmpreendimento--"> <i class="icon-list icon-white"></i> ver detalhe</div> </a> </div> <?php echo "<h3>".print_r($_SESSION["idfav"])."</h3>"; ?> </li> <?php }}} ?> </ul> </div> </div>
  16. joaovictorv

    Somar valores dentro de um foreach

    Estava querendo somar os valores dentro de um foreach, mais ele sempre retorna pra mim os valores separados por espaço, exemplo: 20 30 40 50 gostaria de pegar todos esses valores e somar para dar o valor final segue o codigo: <?php if(isset($_SESSION['carrinho'])): $item_carrinho = '0'; if(count($_SESSION['carrinho']) > '0'): foreach($_SESSION['carrinho'] as $id_produto_carrinho => $quantidade_produto_carrinho): $item_carrinho++; $database = open_database(); $sql = "SELECT nome, preco_varejo, preco_atacado FROM produto WHERE id ='$id_produto_carrinho'"; $resultados = mysqli_query($database,$sql); $res=mysqli_fetch_array($resultados); if (@mysqli_num_rows($resultados) > 0){ foreach($resultados as $read_produto_carrinho_view); $valor_total_produto_carrinho = $quantidade_produto_carrinho * $read_produto_carrinho_view['preco_varejo']; $valor_subtotal_venda = '0'; $valor_subtotal_venda += $read_produto_carrinho_view['preco_varejo']; echo $valor_subtotal_venda; } ?>
  17. Marcelo Okada

    Update com while e foreach

    Boa tarde, estou com duvidas aqui em meu projeto, tenho um array de valores, que vem através de um resultado, qunado faço o while, para mostrar todos os registros, dentro dele faço um update, mas o problema que ele nao aplica na ultimo linha da tabela, tbm fiz por foreach continua a mesma coisa, o que pode ser isso??? while(!$sql->eof()){ $ccodiusua1 = $sql->result("CCODIUSUA1"); $sql11 = new Query ($bd); $txt11 = "UPDATE HSSVACINA_GRIPE SET XML = 'S' WHERE CCODIUSUA1 = '".$ccodiusua1."'"; $sql11->executeSQL($txt11); $sql->next(); } só não aplica na ultima linha. em foreach: $ccodiusua1[] = $sql->result("CCODIUSUA1"); foreach($ccodiusua1 as $a){ $sql11 = new Query ($bd); $txt11 = "UPDATE HSSVACINA_GRIPE SET XML = 'S' WHERE CCODIUSUA1 = '".$a."'"; $sql11->executeSQL($txt11); } $ccodiusua1[] vem certinho a quantidade. Array ( [0] => 000838-01 [1] => 000838-02 [2] => 000838-03 [3] => 001929-01 [4] => 000838-00 )
  18. Find HP

    [Resolvido] Não consigo compreender.

    Primeiramente, bom dia, boa tarde ou boa noite... Eu estava programando em PHP no dia 14/02, quando não conseguia usar o foreach pra essa função: Ela iria exibir o apresentar de cada objeto dentro do Array. Podem me ajudar? Uso o PHP 7
  19. Find HP

    Não consigo compreender.

    Primeiramente, bom dia, boa tarde ou boa noite... Eu estava programando em PHP no dia 14/02, quando não conseguia usar o foreach pra essa função: Ela iria exibir o apresentar de cada objeto dentro do Array. Podem me ajudar?
  20. gust.php

    Foreach encadeado

    Senhores, tenho 2 tableas tipo_veiculo id tipo 1 Bike 2 Moto 3 carro uso id tipo_veiculo quantidade 1 1 2 2 1 3 3 2 2 To tentando fazer um foreach para pegar a quantidade de vezes que cada tipo de veiculo foi usado, quero fazer o seguinte relatorio: Bike - 5 Moto - 2 Tentei assim: ## Aqui eu tenho todos os tipos de veiculos cadastrados. $listaTipoVeiculo = $em->getRepository("Application\Model\Tipoveiculo") ->findAll(); ## Aqui eu pego os registros de uso por um periodo de datas $lista = $sdao->qunatidadeVeiculo($dataInicio,$dataFinal); ## Isso aqui não ta funcionando. Eu acredito se seja o caminho, foreach dentro de foreach. foreach ($listaTipoVeiculo as $tipoVeiculo){ foreach ($lista as $l){ if($l->getTarifario()->getTipoveiculo()->getID_TIPO_CARRO() == $tipoVeiculo->getID_TIPO_CARRO()){ $quantVeiculo = ($quantVeiculo + $l->getQUANT_CARRO()); } } } Agradeço ajudas ....
  21. PhorT

    Erro FOR EACH - PHP

    Pessoal, estou começando no PHP e adquiri um livro pra estudos porém, me deparei com a seguinte situação e não consigo achar solução para ela: Tenho dois códigos: template.php que possui o formulário de inserção de dados junto com um foreach; tarefas.php que possui o código para gravar as entradas do formulário em um array, com include "template.php"; Estou usando o XAMPP, quando eu abro o formulário no navegador, aparece o erro: Segue o código: taferas.php <!-- PHP--> <?php session_start(); if(isset($_GET['nome'])){ $_SESSION['lista_tarefas'][]=$_GET['nome']; } if(isset($_SESSION['lista_tarefas'])){ $lista_tarefas = $_SESSION['lista_tarefas']; //<!-- echo "Nome informado: ". $_GET['nome']; --> } else{ $lista_tarefas = array(); } include "template.php"; ?> ----------------------- template.php <!DOCTYPE html> <html> <head> <title> Gerenciador de Tarefas</title> <link rel= "stylesheet" href="tarefas.css" type="text/css"/> </head> <body> <h1> Gerenciador de Tarefas</h1> <!-- Teste --> <form> <fieldset> <legend> Nova Tarefa</legend> <label> Tarefa: <input type="text" name="nome"> </label> <input type="submit" name="Cadastrar"> </fieldset> </form> <table> <tr> <th>Tarefas:</th> </tr> <?php foreach ($lista_tarefas as $tarefa): ?> <tr> <td> <?php echo $tarefa; ?> </td> </tr> <?php endforeach; ?> </table> <label> Descrição (Opcional) <textarea name= "descrição"></textarea> </label> <label> Prazo (Opicional) <input type="text" name="prazo"/> </label> <fieldset> <legend>Prioridade:</legend> <label> <input type="radio" name= "prioridade" value="baixa" checked /> Baixa <input type="radio" name= "prioridade" value="media" checked /> Média <input type="radio" name= "prioridade" value="alta" checked /> Alta </label> <input type= "submit" value= "Cadastrar"> </body> </html>
  22. Olá, preciso de uma ajuda com um código. Tenho uma página que busca no banco de dados as informações de uma "Seguradora" e lista todos os "Planos" atribuídos a ela: https://jsfiddle.net/6fnpxjz8/4/ Dentro de cada plano tenho um select do tipo multiple="multiple" que é populado com todas as opções de unidades médicas disponíveis em uma outra tabela, e por meio de comparação com as associações, já marca quais foram selecionados no momento do cadastro. No link acima deixei dois grupos como exemplo, o primeiro com alguns itens marcados e o segundo com outros itens marcados. Como identificador de cada plano tenho o retorno do banco de dados em um input type="hidden". Preciso saber como faço para capturar esses dados e savá-los no banco de dados fazendo um update (considerando que já estão cadastrados e a página em questão fornece a opção de mudanças), ou seja, o usuário pode por exemplo marcar mais opções de unidades, ou desmarcar opções, ou ainda alterar outras partes do cadastro sem alterar o select. Alguém consegue me ajudar como faço isso?
  23. Boa noite fiz esse código para pegar algumas informações escolhidas de dentro de um xml de Nfe e gravo em formato json. Mais no último foreach onde pego os itens preciso eliminar a vírgula do ultimo registro, ja tentei várias maneiras e não consegui! <?php function gravar($texto){ $arquivo = "final.json"; $fp = fopen($arquivo, "a+"); fwrite($fp, $texto); fclose($fp); } $xml = simplexml_load_file('1nfe.xml') or die("Não consegui abrir o XML"); foreach($xml->NFe as $NFe) { foreach($xml->NFe->infNFe as $infNFe) { foreach($xml->NFe->infNFe->ide as $ide) { $numeroNF = $ide->nNF; $serie = $ide->serie; foreach($xml->NFe->infNFe->dest as $dest) { $CNPJ = $dest->CNPJ; $xNome = $dest->xNome; foreach($xml->NFe->infNFe->dest->enderDest as $enderDest) { $xLgr = $enderDest->xLgr; $xNro = $enderDest->nro; $xBairro = $enderDest->xBairro; $xMun = $enderDest->xMun; gravar("{\"Nota\":{\"$numeroNF\":{\"Entrega\":{\"Nº Nota\":$numeroNF,\"Serie\":$serie,\"CNPJ\":\"$CNPJ\",\"Cliente\":\"$xNome\",\"Endereço\":\"$xLgr\",\"Nº\":$xNro,\"Bairro\":\"$xBairro\",\"Município\":\"$xMun\"}, "); gravar("\"itens\":{"); foreach($xml->NFe->infNFe->det as $det){ $cProd = $det->prod->cProd; $xProd = $det->prod->xProd; $uCom = $det->prod->uCom; $qCom = $det->prod->qCom; gravar("\"$cProd\" : {"); gravar("\"Descricao\":\"$xProd\",\"Tipo\":\"$uCom\",\"Quantidade\":$qCom}, "); // Eliminar essa ultima virgula, mais so do ultimo registro!. } } } } } } gravar("},"); gravar("\"motorista\":\"Marcelo guedes\"}}} "); ?>
  24. daniramon

    Somar valores de um Array com Condição

    Olá Pessoal, estou com um problema simples, porém não estou conseguindo resolver, tenho a seguinte array: /* $array_frete_calc = 0:{partner_id: 2, weight: 5.6, length: 140, height: 140, width: 140} 1:{partner_id: 2, weight: 2.4, length: 75, height: 75, width: 75} 2:{partner_id: 2, weight: 2.4, length: 75, height: 75, width: 75} 3:{partner_id: 1, weight: 1.0, length: 75, height: 75, width: 75} */ Em teoria, fiz o foreach abaixo na intenção de somente agrupar os partner_id que forem iguais, e somar os campos weight, length, height e width. Como verifico se existe o campo partner_id = > $value['partner_id'] dentro do array $array_frete_calc ??? Podem me ajudar? O ele está funcionando certinho. $array_frete_calc = array(); foreach($products_group_qtde as $key => $value) { // Como verifico se existe o campo partner_id = > $value['partner_id'] dentro do array $array_frete_calc if(){ // return false } else { array_push($array_frete_calc, array( "partner_id" => $value['partner_id'], 'weight'=> $value['weight'], 'length'=> $value['length'], 'height'=> $value['height'], 'width'=> $value['width'] ) ); } } return $array_frete_calc;
  25. JunioYenes10

    Ajuda com Foreach

    Pessoa preciso de ajuda, eu preciso ler os dados desse Array, preciso ler o Array que está dentro de CART, além disso, preciso lêr um que está dentro de um valor de session, e após isso, ler os valores de Product, Price etc Esse é o Código: object(Cart)#3 (6) { ["cart"]=> array(2) { ["812b4ba287f5ee0bc9d43bbf5bbe87fb"]=> array(5) { ["code"]=> int(95) ["product"]=> string(8) "Year USE" ["price"]=> string(5) "62.00" ["amount"]=> string(1) "1" ["subtotal"]=> float(62) } ["f4b9ec30ad9f68f89b29639786cb62ef"]=> array(5) { ["code"]=> int(94) ["product"]=> string(11) "Crianca-WEB" ["price"]=> string(5) "94.00" ["amount"]=> string(1) "1" ["subtotal"]=> float(94) } } ["code"]=> NULL ["product"]=> NULL ["description"]=> NULL ["price"]=> NULL ["db":protected]=> object(PDO)#4 (0) { } } Alguem por favor pode me ajudar a ler esses dados? Eu adicionei dois itens a este array
×

Important Information

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