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
  • Web Development
    • HTML e CSS
    • Javascript
    • PHP
    • Ruby
    • Python
    • Java
    • .NET
    • Docker, Kubernets and other environments
    • WordPress
    • Mobile
    • Agile
    • Desenvolvimento de Games
    • Banco de Dados
    • Design and UX
    • Algoritmos & Outras Tecnologias
  • Entretenimento e uso pessoal
    • Segurança & Malwares
    • Geral
    • iMasters's pub

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

  1. lucasvbl

    Problema com o foreach

    Estou usando o foreach e ele aparece esse erro, estou usando PHP PDO <? // Esse é o formulario ?> <form action="uploads.php" method="post" enctype="multipart/form-data" > <input type="file" name="pictures[]" multiple /> <? // Aqui seria a estrutura de repetição que usaria, mas ele apresenta aquele erro foreach ($_FILES["pictures"]["error"] as $key => $error) { if ($error == UPLOAD_ERR_OK) { $tmp_name = $_FILES["pictures"]["tmp_name"][$key]; $name = $_FILES["pictures"]["name"][$key]; $foto_nome=time()."_".$name; move_uploaded_file($tmp_name, "contrato_anexos/$foto_nome"); $insere = $_base->prepare("INSERT INTO contrato_anexos SET contrato='$codigo', anexo= '$foto_nome' "); $insere->execute(); } } ?>
  2. Pessoal, tudo bem? Gostaria de ajuda para pegar um valor que esta setado dentro de um forEach na minha JSP, jogar para o Jquery e este exibir numa label na mesma página. Esse forEach recupera uma lista direta do banco de dados. Usei um hidden para resgatar o valor que preciso, o: lista.deTipo. Acontece que esse laço percorre duas vezes no banco, mas quando pego esse valor pelo o id do hidden ele só retorna o primeiro valor do deTIpo(isso no JS). O restante ele não pega e eu não to sabendo percorrer esse laço do lado do JQuery para pegar esses dois valores da lista.deTipo. Segue o código da jsp registrar.jsp: <html:radio name="formulRadio" property="nuTipo" styleId="radioTipo" value="1"/>&nbsp;Tipo Interno&nbsp;&nbsp;&nbsp;&nbsp; <html:radio name="formulRadio" property="nuTipo" styleId="radioTipo" value="2"/>&nbsp;Tipo Externa&nbsp;&nbsp;&nbsp;&nbsp; <c:forEach var="lista" items="${form.listaPo}" varStatus="listaMotivo" > <input type="hidden" name="deTipo" id="deTipo" value="${lista.deTipo}"> </c:forEach> No js registra.js $('#form input:radio').bind("click", function() { if ($(this).is(':checked')) { var tipo = $("input[@name='formulRadio']:checked").value; tipo = parseInt($(this).val()); if(tipo == "2"){ mensagemAlerta("Radio tipo externo acionado."+tipo,"INF"); var deTipo = $("#deTipo").val(); document.getElementById("descMotivo").innerHTML = deTipo; } else if(tipoTce =="1"){ var deTipo = $("#deTipo").val(); mensagemAlerta("Radio externa acionado."+deTipo,"INF"); document.getElementById("descMotivo").innerHTML = deTipo; } }});
  3. felpsquirino

    Condição if e else em um foreach

    Olá Pessoal; Já tem alguns dias que venho perdendo a cabeça rsrs não consigo fazer um if e else em um loop foreach meu código: <?php if (isset($list_pedidos_abertos)){ foreach($list_pedidos_abertos as $row) : ?> <div class="espera_item"> <?php echo $row->html?> </div> <?php endforeach; } ?> Eu preciso que quando não tiver nenhum registro ele mostre a mensagem "Nenhum registro encontrado", tentei fazer assim mas não deu certo ele não retorna "0" na contagem: <?php $cont = 0; foreach($list_pedidos_abertos as $row){ $cont = $cont +1; if($cont == 0){ echo 'nenhum registro encontrado'; }else{ ?> <div class="espera_item"> <?php echo $row->html?> </div> <?php } } ?> o que eu estou fazendo de errado ? Grato pela ajuda ;)
  4. 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
  5. 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
  6. AnthraxisBR

    Qual desses dois códigos é mais eficiente?

    Tenho dois códigos que fazem a mesma coisa, mas de maneira diferente, um calcula de uma vez e coloca na array, outro, eu calculo um valor de cada vez. O que calcula de uma vez: <?php public static function get_count_companies_by_tax_regime_by_financial_movement($tax_regime) { $sql = 'SELECT cod,internal_control_group,company_tax_regime FROM data_companies WHERE company_tax_regime = "' . $tax_regime . '"'; $rs = MySQLComponents::get_rs_array_stmt_PDO($sql); $companies_cod = array_column($rs, 'cod'); $SQL_companies_cod = implode("','", $companies_cod); $count = count($emps); $exercise = date('Y-m') . '-01'; $sql_2 = 'SELECT * FROM fiscal_obligations_control WHERE relationship IN("' . $SQL_companies_cod . '") AND exercise = "' . $exercise . '"'; $rs_2 = MySQLComponents::get_rs_array_stmt_PDO($sql_2); $CM = 0; $SM = 0; $outstanding= 0; foreach ($rs_2 as $row) { $apuracao = $row['status_apuracao']; if($apuracao == 0){ $outstanding = $outstanding +1; }elseif($apuracao == 1){ $SM = $SM + 1; }elseif($apuracao == 3 OR $apuracao == 4){ $CM = $CM + 1; }else{ return 0; break; } } $response = []; $response['CM'] = $CM; $response['SM'] = $SM; $response['outstanding'] = $outstanding; return $response; } E fiz esse outro que calcula 1 valor de cada vez: <?php public static function get_count_companies_by_tax_regime_by_financial_movement($tax_regime, $financial_movement) { $sql = 'SELECT cod,internal_control_group,company_tax_regime FROM data_companies WHERE company_tax_regime = "' . $tax_regime . '"'; $rs = MySQLComponents::get_rs_array_stmt_PDO($sql); $companies_cod = array_column($rs, 'cod'); $SQL_companies_cod = implode("','", $companies_cod); $count = count($emps); $exercise = date('Y-m') . '-01'; $sql_2 = 'SELECT * FROM fiscal_obligations_control WHERE relationship IN("' . $SQL_companies_cod . '") AND exercise = "' . $exercise . '"'; $rs_2 = MySQLComponents::get_rs_array_stmt_PDO($sql_2); $value = 0; foreach ($rs_2 as $row) { $apuracao = $row['status_apuracao']; if ($apuracao == $financial_movement) { $value = $value + 1; } elseif ($apuracao == 1 OR $apuracao == 3 OR $apuracao == 4) { // Não soma } else { return 0; break; } } return $value; } A primeira, eu chamaria uma vez, e espalharia os dados da array, mas ela é muito especifica. A segunda precisa ser chamada toda vez que precisa de um dado, porém ele é mais 'abstrata'. As duas são chamadas da mesma forma com uma requisição ajax quando o elemento com o data-attr "get_count_companies", com "primary-param", com "secondary-param", e param-numbs, e também com o className 'get_data_from_db' é carregado, depois ele passa para o Controller, que identifica e chama essa função dentro do model, essa parte é ok, a dúvida é sobre o método, pois tenho vários métodos parecidos. A dúvida é:
  7. romario@seg

    inserir variavel no banco de dados mysql

    if (isset($_POST['data']['ClientesEndereco'][0])) { $values = ''; $fields = "(" . implode(",", array_keys($_POST['data']['ClientesEndereco'][0])) . ")"; foreach ($_POST['data']['ClientesEndereco'] as $endereco) { $values .= "('" .implode("','", $endereco) . "'),"; } $values = substr($values, 0, -1); $sql = 'INSERT INTO cliente_endereco ' . $fields . ' VALUES ' . $values; $qur = mysqli_query($cnx, $sql); var_dump($quer); tenho um formulario dinamico e gostaria de saber como faço para inserir no banco de dados nesse exemplo. esse é o resultado que aparece na pagina de retorno : INSERT INTO cliente_endereco (nome_tipo,cep,logradouro,numero,complemento,bairro,pais,cidade_id,codigo_cidade,nome_cidade,estado) VALUES ('','','','','','','','','','','') porem como faço para inserir no banco de dados?
  8. Olá pessoal, estou fazendo uma série de exercícios em PHP para prática. E me deparei com uma dúvida em relação a laço de repetição. Para explicar melhor vou colocar o enunciado do exercício aqui: Efetue um algorítmo PHP que receba dois valores quaisquer e efetue sua multiplicação utilizando para isso apenas o operador “+”, visto que: (3 * 5) = 5 + 5 + 5 (4 * 12) = 12 + 12 + 12 + 12 No exercício o primeiro fator passado é o numero de vezes que o fator 2 terá que ser somado. Pelo o que o exercício pede eu consegui realizar a soma, mas, eu queria também mostrar os valores somados na tela, por exemplo, 5+5+5+5 = 20. Para este exercício eu utilizei array. Segue meu código: <?php $fator1 = isset($_POST['fator1']) ? $_POST['fator1']: ''; $fator2 = isset($_POST['fator2']) ? $_POST['fator2']: ''; for ($i = 1; $i <= $fator1; $i++) { $arr[] = $fator2; } /* foreach ($arr as $key => $value) { echo $value . ' + '; } */ echo array_sum($arr); Do jeito que esta se eu passar como fator 1 o numero 4 e como fator 2 o numero 5 ele realmente imprime 20 na tela. Mas o que eu quero imprimir na tela é 5 + 5 + 5 + 5 = 20. Mas se eu utilizar o foreach do jeito que esta comentado la em cima ele imprime um sinal de "+" a mais, ele fica 5 + 5 + 5 + 5 + 20. Alguém saberia de alguma solução pra esse caso? Grato!
  9. wneo

    Como Somar em forEach e explode

    Olá! Pessoal, preciso somar os valores vindos da tabela... Por exemplo, *Tenho 2 tabelas: -Produtos e budget; -Ao criar um budget, escolho os produtos e salvo o id de cada um separado por virgula em um campo da budget; 1-Receber os valores em um foreach, pq eles estavam agrupados por vírgula em um campo; 2-Exibir individualmente esses valores ($valor_cobrado); 3-Somar e exibir na tela o total, que é a soma desses valores. O 1 e 2 já estão ok.... <form class="form_budget" id="form_update_budget"> <?php while($row = mysql_fetch_array($rs_budgets)){ $id_budget = $row['id_budget']; $id_produto = $row['id_produto']; $nome_budget = $row['nome_budget']; ?> <fieldset> <legend align="left"><?php echo $nome_budget; ?></legend> <li> <label><span>Choosed products</span></label> <?php $prepara_resultado= explode(",", $id_produto); foreach($prepara_resultado as $newvalue){ $sql_produto_escolhido="SELECT * FROM produtos WHERE id_produto='$newvalue'"; $prepara_resultado = mysql_query($sql_produto_escolhido); $row = mysql_fetch_assoc($prepara_resultado); $id_produto_escolhido = $row['id_produto_escolhido']; $nome_produto_escolhido = $row['nome_produto']; $valor_cobrado = $row['valor_cobrado']; ?> <b><?php echo $nome_produto_escolhido; ?>(R$<b class="<?php echo $id_produto_escolhido; ?>_valor_produto"><?php echo $valor_cobrado; ?></b>) </b> - <?php }//end foreach explode ?> </li> <li> <label><span>Valor total</span></label> <b class="valor_total"></b> </li> <button>Abrir</button> </fieldset> <?php }//end while budgets ?> </form> ....Alguém consegue chegar no 3?????
  10. keven1406

    Não entendo a função forEach

    Pessoal, estou estudando JavaScript sozinho já faz algum tempo. Estudo pelo livro JavaScript Eloquent e estava tudo legal até chegar na parte de funções de ordem superior. Cheguei em uma parte que criamos uma função como parâmetro de outra função. Vou coloca-la aqui: var numbers = [1, 2, 3, 4, 5], sum = 0; forEach(numbers, function(number) { sum += number; }); console.log(sum); E o resultado disso é 15. Não consigo entender essa função. forEach não é chamada em lugar algum. o que chamamos no console.log é o sum, que é uma variável de valor 0. No livro o resultado disso é 15. no entanto quando coloco o mesmo código para rodar no scratchpad, ele diz: /* Exception: ReferenceError: forEach is not defined @Scratchpad/2:2:1 */ Não sei o que eu faço. Já pesquisei por forEach, mas não entendi por que esse código não está dando o resultado sendo que no livro diz que é 15. Não sei se o autor do livro errou ou se eu que sou louco. Por favor me ajudem. Obrigado desde já. Colocarei um pouco do conteúdo do livro explicando esse código. Link do livro: https://github.com/braziljs/eloquente-javascript/blob/master/chapters/05-funcoes-de-ordem-superior.md O conteúdo está logo no inicio. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Normalmente você não irá passar uma função predefinida para o forEach, mas ela será criada localmente dentro da função. var numbers = [1, 2, 3, 4, 5], sum = 0; forEach(numbers, function(number) { sum += number; }); console.log(sum); // → 15 Isso parece muito com um loop clássico, com o seu corpo escrito como um bloco logo abaixo. No entanto o corpo está dentro do valor da função, bem como esta dentro dos parênteses da chamada de forEach. É por isso que precisamos fechar com chave e parêntese. Nesse padrão, podemos simplificar o nome da variável (number) pelo elemento atual, ao invés de simplesmente ter que buscá-lo fora do array manualmente. De fato, não precisamos definir um método forEach. Ele esta disponível como um método padrão em arrays. Quando um array é fornecido para o método agir sobre ele, o forEach espera apenas um argumento obrigatório: a função a ser executada para cada elemento.
  11. Pessoal, Boa Noite Estou com um probleminha, estou procurando a algum tempo. Minha intenção é. criar uma tela para fazer lançamentos de valores de cartões de credito e débito. Tenho uma tabela no bd "lanc_diario" Nessa tabela tenho os campos por exemplo "valoramexcredito, valorvisacredito" e por aí vai... Tenho outra tabela com os tipos de cartões, e por isso monto um form dinamico, que mostra os inputs de acordo com a tabela de cartões. no meu form o input está assim: <input type="text" name="valorcartao[]" placeholder="R$" /> e na pagina de retorno estou usando o foreach para me mostrar todos os valores do input. $dtmovimento = $_REQUEST['dtmovimento']; $dtmovimento = date("Y-m-d",strtotime(str_replace('/','-',$dtmovimento))); if(isset($_POST["valorcartao"])) { // Faz loop pelo array do q foi enviado foreach($_POST['valorcartao'] as $indice => $valorcartao) { echo $indice." - ".$valorcartao.'<br />'; } inserir(array("id","dtmovimento"), array(NULL,$dtmovimento), "lanc_diario"); } else { echo "Nada enviado<br>"; } Meu retorno está sendo esse: 0 - R$ 1,001 - 2 - 3 - 4 - 5 - 6 - 7 - R$ 1,00 8 - A questão é que não estou conseguindo inserir os valores no bd. Pois não consigo encaixar no insert. tentei algo do tipo: inserir(array("id","dtmovimento","valoramexcredito"), array(NULL,$valorcartao[0]), "lanc_diario"); mas imagino que não posso deixar esse "valoramexcredito" fixo, por que não iria inserir os outros valores de cartões nos seus respectivos campos. Alguém poderia me dar uma luz? Muito obrigado!
  12. cristianomg

    Mensagem de Foreach

    E ae pessoal, Estou testando o upload de imagens multiplas , mas, estou com problema de descobrir por que esta exibindo uma mensagem de erro com uso de foreach segue código. index <div id="principal"> <form action="upload.php" enctype="multipart/form-data" method="post" > <input type="file" name="images" id="images" multiple> <button type="submit" id="btn">Enviar Arquivos</button> <!--input type="submit" id="btn" value="upload"--> </form> <div id="response"> </div> <ul id="image-list"> </ul> <div style="clear:both;"></div> </div> Chamada do Upload.php <?php foreach($_FILES["images"]["name"] as $key => $error){ if($error == UPLOAD_ERR_OK){ $name = $_FILES["images"]["name"][$key]; move_uploaded_file($_FILES["images"]["tmp_name"][$key], "imagens/anuncios/upload/".$name); } } echo "Imagens enviadas com sucesso"; ?> Erro exibido: Warning: Invalid argument supplied for foreach() in C:\servidor6\EasyPHP-DevServer-14.1VC9\data\localweb\aulaupload\upload.php on line 3 Imagens enviadas com sucesso Só que nem chega a enviar as imagens
  13. Pessoal, alguém poderia me ajudar em uma questão? Criei um formulário de envio de dados para meu e-mail (método POST) - adicionei campos necessários para receber as informações no meu -email, mas devo ter esquecido de algo ou estar fazendo errado (sou apenas um curioso em PHP) não tenho muita prática no código mas consegui que ele me devolvesse o campo MENSAGEM, criei um foreach para passar o código mas os campos checkbox e radio me retornam no email apenas aspas " " - não retornando o valor marcado no formulário. Alguém poderia me ajudar? Abaixo segue meu código... Meu html: <input id="checkbox1" type="checkbox" name="caixas[]" value="Criação de logotipo"><label for="checkbox1"><span></span>Criação de logotipo</label> </div> <div> <input id="checkbox2" type="checkbox" name="caixas[]" value="Criação de identidade visual"><label for="checkbox2"><span></span>Criação de identidade visual</label> </div> <div> <input id="checkbox3" type="checkbox" name="caixas[]" value="Criação de material gráfico"><label for="checkbox3"><span></span>Criação de material gráfico (cartão, papelaria, etc)</label> </div> <div> <input id="checkbox4" type="checkbox" name="caixas[]" value="Criação de material digital"><label for="checkbox4"><span></span>Criação de material digital (redes sociais, icones, etc)</label> </div> <div> <input id="checkbox5" type="checkbox" name="caixas[]" value="Redesign de logotipo"><label for="checkbox5"><span></span>Redesign de logotipo</label> php: <?php if(!$_POST) exit; function isEmail($email) { return(preg_match("/^[-_.[:alnum:]]+@((([[:alnum:]]|[[:alnum:]][[:alnum:]-]*[[:alnum:]])\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|xxxxxx|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|você|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)$|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i",$email)); } if (!defined("PHP_EOL")) define("PHP_EOL", "\r\n"); $name = $_POST['name']; $email = $_POST['email']; $comments = $_POST['comments']; $opcao = ''; foreach((array)$_POST['caixas'] as $caixas) { $opcao .= $caixas.'<br>'; } $opcao_tempo = ''; foreach((array)$_POST['valores'] as $valores) { $opcao_tempo .= $valores.'<br>'; } if(trim($name) == '') { echo '<div class="error_message">Por favor, entre com seu nome.</div>'; exit(); } else if(trim($email) == '') { echo '<div class="error_message">Entre com um e-mail válido.</div>'; exit(); } else if(!isEmail($email)) { echo '<div class="error_message">xii... e-mail inválido. Tente novamente!</div>'; exit(); } if(get_magic_quotes_gpc()) { $comments = stripslashes($comments); } $address = "valdemir_juniior@hotmail.com"; $e_subject = 'You have been contacted by ' . $name . '.'; $e_body = "Heey... recebemos um e-mail para cadastrar de $name. Favor incluir em nossa base de dados." . PHP_EOL . PHP_EOL; $e_opcao = "\"$caixas\"" . PHP_EOL . PHP_EOL; $e_opcao_tempo = "\"$valores\"" . PHP_EOL . PHP_EOL; $e_content = "\"$comments\"" . PHP_EOL . PHP_EOL; $e_reply = "Solicitação enviada por $name via email: $email"; $msg = wordwrap( $e_body . $e_opcao . $e_opcao_tempo . $e_content . $e_reply, 70 ); $headers = "From: $email" . PHP_EOL; $headers .= "Reply-To: $email" . PHP_EOL; $headers .= "MIME-Version: 1.0" . PHP_EOL; $headers .= "Content-type: text/plain; charset=utf-8" . PHP_EOL; $headers .= "Content-Transfer-Encoding: quoted-printable" . PHP_EOL; if(mail($address, $e_subject, $msg, $headers)) { echo "<fieldset>"; echo "<div id='success_page'>"; echo "<h3>Sua solicitação foi enviada com sucesso!</h3>"; echo "<p>Obrigado <strong>$name</strong>, logo receberá novidades bacanas.</p>"; echo "</div>"; echo "</fieldset>"; } else { echo 'ERROR!'; }
×

Important Information

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