Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ROGERIO MOREIRA

filtrar valores de um select com o for

Recommended Posts

Olá feras

 

tenho o seguinte problema:

for ( $dia = 1;  $dia <= 31; $dia++ ) {
    $query = "Select * for agenda where year(data) = '$ano' and month(data) = '$mes' and day(data)  = '$dia'";
}

dessa forma o sistema faz trinta buscas no mês, o que fica muito sobrecarregado.

 

preciso tirar esse select de dentro do for para que se faça um único select no mês e depois agrupar por dia;

 

$query = "Select * for agenda where and year(data) = '$ano' and month(data) = '$mes' group by day(data)";

$agenda =  mysql_query($query, $conexao) or die(mysql_error());

$row = mysql_fetch_assoc($agenda);

 

agora preciso pegar os registros diários desta consulta:

for ($dia = 1; $dia <= 31; $dia++ ) {
    //???
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

- Como está a estrutura da sua tabela?

- Você precisa ter atenção que cada mês possui ultimo_dia diferentes.

 

O seu comentário de: "dessa forma o sistema faz trinta buscas no mês, o que fica muito sobrecarregado."

 

Sobrecarregado não fica. Porem se não tem necessidade é outra questão. 

 

Vamos seguindo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

quanto a questão de dias do mês o meu código php está fazendo a distinção;

 

só quero fazer um único select para o mês inteiro e depois selecionar registros por dia;

 

por exemplo:

$query = "select * for agenda where year(data) = '2018' and month(data) = '01'";

$dados = mysql_query($query, $conexao);

$row = mysql_query_assoc($dados);

neste exemplo eu estou pegando todos os registros do mês:

agora eu preciso pegar os registros por dia dessa $row

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

exemplo

$query = "select * from agenda where year(data) = '2018' and month(data) = '01' group by day(data)";

$dados = mysql_query($query);

$row = mysql_fetch_assoc($dados);

eu estou filtrando os registros por mês e agrupando por dia

agora eu preciso saber como pegar os registros diários dessa consulta

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom. 
Analisando aqui, vejo que tenho dúvidas.

Você possui vários registros duplicados com a mesma data? Se a data for única por registro não tem pq agrupar por data.

 

Seria interessante se ainda existir dúvidas que você cole uma parte do seu banco de dados e esclarecer mais as coisas.

 

Testei assim:


 

//$sql        = "SELECT * FROM agenda WHERE ano = '2018' AND mes = '02' GROUP BY dia";
$sql        = "SELECT * FROM agenda WHERE ano = '2018' AND mes = '02'";
$conexao   = mysqli_connect("localhost","root","","ajuda") or die('Erro ao se conectar a base de dados');
$resultado = mysqli_query($conexao,$sql) or die('Erro ao inserir os dados '.mysqli_error($conexao));
mysqli_close($conexao);


while($linha = $resultado->fetch_assoc()) {

    #var_dump($linha); die;

    echo 'ID: '.$linha["id"].'<br/>';
    echo 'Nome: '.$linha["nome"].'<br/>';
    echo 'Dia: '.$linha["dia"].'<br/>';
    echo 'Mes: '.$linha["mes"].'<br/>';
    echo 'Ano: '.$linha["ano"].'<hr/>';

}

 

banco de dados:

CREATE TABLE `agenda` (
  `id` int(10) NOT NULL,
  `ano` varchar(4) NOT NULL,
  `mes` varchar(2) NOT NULL,
  `dia` varchar(2) NOT NULL,
  `nome` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Extraindo dados da tabela `agenda`
--

INSERT INTO `agenda` (`id`, `ano`, `mes`, `dia`, `nome`) VALUES
(1, '2018', '02', '01', 'Nome 01'),
(2, '2018', '02', '02', 'Nome 02'),
(3, '2018', '02', '03', 'Nome 03'),
(4, '2018', '02', '04', 'Nome 04'),
(5, '2018', '02', '05', 'Nome 05'),
(6, '2018', '02', '06', 'Nome 06'),
(7, '2018', '02', '07', 'Nome 07'),
(8, '2018', '02', '08', 'Nome 08'),
(9, '2018', '02', '09', 'Nome 09'),
(10, '2018', '02', '10', 'Nome 10');

saída

 

Nome: Nome 01
Dia: 01
Mes: 02
Ano: 2018

ID: 2
Nome: Nome 02
Dia: 02
Mes: 02
Ano: 2018

ID: 3
Nome: Nome 03
Dia: 03
Mes: 02
Ano: 2018

ID: 4
Nome: Nome 04
Dia: 04
Mes: 02
Ano: 2018

ID: 5
Nome: Nome 05
Dia: 05
Mes: 02
Ano: 2018

ID: 6
Nome: Nome 06
Dia: 06
Mes: 02
Ano: 2018

ID: 7
Nome: Nome 07
Dia: 07
Mes: 02
Ano: 2018

ID: 8
Nome: Nome 08
Dia: 08
Mes: 02
Ano: 2018

ID: 9
Nome: Nome 09
Dia: 09
Mes: 02
Ano: 2018

ID: 10
Nome: Nome 10
Dia: 10
Mes: 02
Ano: 2018

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
SELECT * FROM `teste` WHERE `data` BETWEEN '0000-00-00' AND '0000-00-00' GROUP BY data

 

so usar o Group BY

 

usando sua estrutura ficaria +- assim

$query = "Select * for agenda where year(data) = '$ano' and month(data) = '$mes' and day(data)  = '$dia' GROUP BY day" 

 

para campos de datas, e melhor utilizar campo como DATE, para evitar constragimentos, e ter que tratar datas fora da consulta

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem, sim, vários registros por dia, conforme o exemplo

 

no caso, o sistema faz uma varredura dia por dia e conta os registros agendados a cada dia do mês dentro do comando for,

tento que fazer 31 buscas a cada acesso

 

exemplo como está

for ( $dia = 1; $dia < 31; $dia++ ) {
       select * from agenda where dia = '$dia';
)

 

o que eu queria era tirar esse select de dentro do for e fazer com que ele busque todos os itens do mes de uma vez e depois fazer com que o for pegue os registros por dia

 

 

agenda.png

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 27/02/2018 at 14:13, ThalissonChagas1407 disse:

SELECT * FROM `teste` WHERE `data` BETWEEN '0000-00-00' AND '0000-00-00' GROUP BY data

 

so usar o Group BY

 

usando sua estrutura ficaria +- assim


$query = "Select * for agenda where year(data) = '$ano' and month(data) = '$mes' and day(data)  = '$dia' GROUP BY day" 

 

para campos de datas, e melhor utilizar campo como DATE, para evitar constragimentos, e ter que tratar datas fora da consulta

Boa Thalisson,

 

na verdade o que eu estou querendo é fazer uma única busca para o mês inteiro, e depois, com o comando for, filtrar os registros por dia, por exemplo:

 


 

$query = "select * from agenda where year(data) = '$ano' and month(data) = '$mes'";



for ( $dia = 1 ; $dia < 31 ; $dia++ ) {
    /** dia 1:

     os itens de hoje são:

     A

     B

     C



     dia 2:

     os itens de hoje são:

     D

     E **/
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Rogerio.

 

Eu fiz assim:

$sql = "SELECT * FROM agenda WHERE data BETWEEN '2018-02-01' AND '2018-02-28'";

// Loop no resultado da pesquisa do range do mês 
while($linha = $resultado->fetch_assoc()) {

    // verifica se existe a entrada no array do dia do mês atual. Se não existir cria a entrada no array
    if(!isset($dias[$linha['dia']])) {
        $dias[$linha['dia']] = [];
    }

    // adiciona o array da linha atual na entrada do dia no array $dias
    array_push($dias[$linha['dia']], $linha);

    /*
    echo 'ID: '.$linha["id"].'<br/>';
    echo 'ID: '.$linha["data"].'<br/>';
    echo 'Nome: '.$linha["nome"].'<br/>';
    echo 'Dia: '.$linha["dia"].'<br/>';
    echo 'Mes: '.$linha["mes"].'<br/>';
    echo 'Ano: '.$linha["ano"].'<hr/>';
    */

}


// Saída final do array $dias
echo '<pre>';
var_dump($dias);
echo '</pre>';

 

Com isso você pode acessar os eventos do dia da seguinte forma:

$dias['DIA'] = array com eventos do dia.

$dias['DIA'][0]

$dias['DIA'][1]

...

 

Você pode fazer um for por $dias['DIA'] e exibir todos os eventos do dia selecionado.

 

saída:

 

array(8) {
  ["01"]=>
  array(6) {
    [0]=>
    array(6) {
      ["id"]=>
      string(2) "11"
      ["data"]=>
      string(10) "2018-02-01"
      ["ano"]=>
      string(4) "2018"
      ["mes"]=>
      string(2) "02"
      ["dia"]=>
      string(2) "01"
      ["nome"]=>
      string(10) "Evento 001"
    }
    [1]=>
    array(6) {
      ["id"]=>
      string(2) "12"
      ["data"]=>
      string(10) "2018-02-01"
      ["ano"]=>
      string(4) "2018"
      ["mes"]=>
      string(2) "02"
      ["dia"]=>
      string(2) "01"
      ["nome"]=>
      string(10) "Evento 002"
    }
    [2]=>
    array(6) {
      ["id"]=>
      string(2) "13"
      ["data"]=>
      string(10) "2018-02-01"
      ["ano"]=>
      string(4) "2018"
      ["mes"]=>
      string(2) "02"
      ["dia"]=>
      string(2) "01"
      ["nome"]=>
      string(10) "Evento 003"
    }
    [3]=>
    array(6) {
      ["id"]=>
      string(2) "14"
      ["data"]=>
      string(10) "2018-02-01"
      ["ano"]=>
      string(4) "2018"
      ["mes"]=>
      string(2) "02"
      ["dia"]=>
      string(2) "01"
      ["nome"]=>
      string(10) "Evento 004"
    }
    [4]=>
    array(6) {
      ["id"]=>
      string(2) "15"
      ["data"]=>
      string(10) "2018-02-01"
      ["ano"]=>
      string(4) "2018"
      ["mes"]=>
      string(2) "02"
      ["dia"]=>
      string(2) "01"
      ["nome"]=>
      string(10) "Evento 005"
    }
    [5]=>
    array(6) {
      ["id"]=>
      string(2) "16"
      ["data"]=>
      string(10) "2018-02-01"
      ["ano"]=>
      string(4) "2018"
      ["mes"]=>
      string(2) "02"
      ["dia"]=>
      string(2) "01"
      ["nome"]=>
      string(10) "Evento 006"
    }
  }
  ["02"]=>
  array(5) {
    [0]=>
    array(6) {
      ["id"]=>
      string(2) "17"
      ["data"]=>
      string(10) "2018-02-02"
      ["ano"]=>
      string(4) "2018"
      ["mes"]=>
      string(2) "02"
      ["dia"]=>
      string(2) "02"
      ["nome"]=>
      string(10) "Evento 007"
    }
    [1]=>
    array(6) {
      ["id"]=>
      string(2) "18"
      ["data"]=>
      string(10) "2018-02-02"
      ["ano"]=>
      string(4) "2018"
      ["mes"]=>
      string(2) "02"
      ["dia"]=>
      string(2) "02"
      ["nome"]=>
      string(10) "Evento 008"
    }
    [2]=>
    array(6) {
      ["id"]=>
      string(2) "19"
      ["data"]=>
      string(10) "2018-02-02"
      ["ano"]=>
      string(4) "2018"
      ["mes"]=>
      string(2) "02"
      ["dia"]=>
      string(2) "02"
      ["nome"]=>
      string(10) "Evento 009"
    }
    [3]=>
    array(6) {
      ["id"]=>
      string(2) "20"
      ["data"]=>
      string(10) "2018-02-02"
      ["ano"]=>
      string(4) "2018"
      ["mes"]=>
      string(2) "02"
      ["dia"]=>
      string(2) "02"
      ["nome"]=>
      string(10) "Evento 010"
    }
    [4]=>
    array(6) {
      ["id"]=>
      string(2) "21"
      ["data"]=>
      string(10) "2018-02-02"
      ["ano"]=>
      string(4) "2018"
      ["mes"]=>
      string(2) "02"
      ["dia"]=>
      string(2) "02"
      ["nome"]=>
      string(10) "Evento 011"
    }
  }
  ["03"]=>
  array(2) {
    [0]=>
    array(6) {
      ["id"]=>
      string(2) "22"
      ["data"]=>
      string(10) "2018-02-03"
      ["ano"]=>
      string(4) "2018"
      ["mes"]=>
      string(2) "02"
      ["dia"]=>
      string(2) "03"
      ["nome"]=>
      string(10) "Evento 012"
    }
    [1]=>
    array(6) {
      ["id"]=>
      string(2) "23"
      ["data"]=>
      string(10) "2018-02-03"
      ["ano"]=>
      string(4) "2018"
      ["mes"]=>
      string(2) "02"
      ["dia"]=>
      string(2) "03"
      ["nome"]=>
      string(10) "Evento 013"
    }
  }
  ["04"]=>
  array(1) {
    [0]=>
    array(6) {
      ["id"]=>
      string(2) "24"
      ["data"]=>
      string(10) "2018-02-04"
      ["ano"]=>
      string(4) "2018"
      ["mes"]=>
      string(2) "02"
      ["dia"]=>
      string(2) "04"
      ["nome"]=>
      string(10) "Evento 014"
    }
  }
  ["05"]=>
  array(1) {
    [0]=>
    array(6) {
      ["id"]=>
      string(2) "25"
      ["data"]=>
      string(10) "2018-02-05"
      ["ano"]=>
      string(4) "2018"
      ["mes"]=>
      string(2) "02"
      ["dia"]=>
      string(2) "05"
      ["nome"]=>
      string(10) "Evento 015"
    }
  }
  ["06"]=>
  array(4) {
    [0]=>
    array(6) {
      ["id"]=>
      string(2) "26"
      ["data"]=>
      string(10) "2018-02-06"
      ["ano"]=>
      string(4) "2018"
      ["mes"]=>
      string(2) "02"
      ["dia"]=>
      string(2) "06"
      ["nome"]=>
      string(10) "Evento 016"
    }
    [1]=>
    array(6) {
      ["id"]=>
      string(2) "27"
      ["data"]=>
      string(10) "2018-02-06"
      ["ano"]=>
      string(4) "2018"
      ["mes"]=>
      string(2) "02"
      ["dia"]=>
      string(2) "06"
      ["nome"]=>
      string(10) "Evento 017"
    }
    [2]=>
    array(6) {
      ["id"]=>
      string(2) "28"
      ["data"]=>
      string(10) "2018-02-06"
      ["ano"]=>
      string(4) "2018"
      ["mes"]=>
      string(2) "02"
      ["dia"]=>
      string(2) "06"
      ["nome"]=>
      string(10) "Evento 018"
    }
    [3]=>
    array(6) {
      ["id"]=>
      string(2) "29"
      ["data"]=>
      string(10) "2018-02-06"
      ["ano"]=>
      string(4) "2018"
      ["mes"]=>
      string(2) "02"
      ["dia"]=>
      string(2) "06"
      ["nome"]=>
      string(10) "Evento 019"
    }
  }
  ["07"]=>
  array(3) {
    [0]=>
    array(6) {
      ["id"]=>
      string(2) "30"
      ["data"]=>
      string(10) "2018-02-07"
      ["ano"]=>
      string(4) "2018"
      ["mes"]=>
      string(2) "02"
      ["dia"]=>
      string(2) "07"
      ["nome"]=>
      string(10) "Evento 020"
    }
    [1]=>
    array(6) {
      ["id"]=>
      string(2) "31"
      ["data"]=>
      string(10) "2018-02-07"
      ["ano"]=>
      string(4) "2018"
      ["mes"]=>
      string(2) "02"
      ["dia"]=>
      string(2) "07"
      ["nome"]=>
      string(10) "Evento 021"
    }
    [2]=>
    array(6) {
      ["id"]=>
      string(2) "32"
      ["data"]=>
      string(10) "2018-02-07"
      ["ano"]=>
      string(4) "2018"
      ["mes"]=>
      string(2) "02"
      ["dia"]=>
      string(2) "07"
      ["nome"]=>
      string(10) "Evento 022"
    }
  }
  ["08"]=>
  array(1) {
    [0]=>
    array(6) {
      ["id"]=>
      string(2) "33"
      ["data"]=>
      string(10) "2018-02-08"
      ["ano"]=>
      string(4) "2018"
      ["mes"]=>
      string(2) "02"
      ["dia"]=>
      string(2) "08"
      ["nome"]=>
      string(10) "Evento 023"
    }
  }
}

 

 

 

tabela:

CREATE TABLE `agenda` (
  `id` int(10) NOT NULL,
  `data` date NOT NULL,
  `ano` varchar(4) NOT NULL,
  `mes` varchar(2) NOT NULL,
  `dia` varchar(2) NOT NULL,
  `nome` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Extraindo dados da tabela `agenda`
--

INSERT INTO `agenda` (`id`, `data`, `ano`, `mes`, `dia`, `nome`) VALUES
(11, '2018-02-01', '2018', '02', '01', 'Evento 001'),
(12, '2018-02-01', '2018', '02', '01', 'Evento 002'),
(13, '2018-02-01', '2018', '02', '01', 'Evento 003'),
(14, '2018-02-01', '2018', '02', '01', 'Evento 004'),
(15, '2018-02-01', '2018', '02', '01', 'Evento 005'),
(16, '2018-02-01', '2018', '02', '01', 'Evento 006'),
(17, '2018-02-02', '2018', '02', '02', 'Evento 007'),
(18, '2018-02-02', '2018', '02', '02', 'Evento 008'),
(19, '2018-02-02', '2018', '02', '02', 'Evento 009'),
(20, '2018-02-02', '2018', '02', '02', 'Evento 010'),
(21, '2018-02-02', '2018', '02', '02', 'Evento 011'),
(22, '2018-02-03', '2018', '02', '03', 'Evento 012'),
(23, '2018-02-03', '2018', '02', '03', 'Evento 013'),
(24, '2018-02-04', '2018', '02', '04', 'Evento 014'),
(25, '2018-02-05', '2018', '02', '05', 'Evento 015'),
(26, '2018-02-06', '2018', '02', '06', 'Evento 016'),
(27, '2018-02-06', '2018', '02', '06', 'Evento 017'),
(28, '2018-02-06', '2018', '02', '06', 'Evento 018'),
(29, '2018-02-06', '2018', '02', '06', 'Evento 019'),
(30, '2018-02-07', '2018', '02', '07', 'Evento 020'),
(31, '2018-02-07', '2018', '02', '07', 'Evento 021'),
(32, '2018-02-07', '2018', '02', '07', 'Evento 022'),
(33, '2018-02-08', '2018', '02', '08', 'Evento 023');

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.
       
      Estou com uma dúvida de validação de INPUT com função moeda.
       
      Tenho um input onde o usuário digita um valor qualquer, por exemplo: 1.234,56
      o problema é quando precisa atualizar o valor.
       
      Quando o usuário atualizar o input fica assim: 1.234,
       
      como faço para atualizar as casas decimais, conforme o valor for sendo alterado ?
       
      o input está assim:
       
      <div class="col-md-2"> <label for="">Valor Unitário</label> <input type="text" class="form-control" id="estoqprod" name="estoqprod" style="font-size:15px; font-weight:bold; width:100%; text-align:center;" placeholder="0,00" OnKeyUp="calcProd();" onkeypress="return(FormataMoeda(this,'.',',',event))" > </div>  
      a função para formatar o input para moeda está assim:
      obs.: a Função CalcProd está executando corretamente
      function calcProd(){ //Obter valor digitado do produto var estoq_prod = document.getElementById("estoqprod").value; //Remover ponto e trocar a virgula por ponto while (estoq_prod.indexOf(".") >= 0) { estoq_prod = estoq_prod.replace(".", ""); } estoq_prod = estoq_prod.replace(",","."); //Obter valor digitado do produto var prod_qtde = document.getElementById("qtde").value; //Remover ponto e trocar a virgula por ponto while (prod_qtde.indexOf(".") >= 0) { prod_qtde = prod_qtde.replace(".", ""); } prod_qtde = prod_qtde.replace(",","."); //Calcula o Valor do Desconto if (prod_qtde > 0 && estoq_prod > 0) { calc_total_produto = parseFloat(prod_qtde) - parseFloat(estoq_prod); var numero = calc_total_produto.toFixed(2).split('.'); //Calculo para não deixar GRAVAR valores negativos if (calc_total_produto < 0 ) { numero[0] = numero[0].split(/(?=(?:...)*$)/).join('.') * -1; document.getElementById("qtdeTotal").value = numero.join(','); } else { numero[0] = numero[0].split(/(?=(?:...)*$)/).join('.'); document.getElementById("qtdeTotal").value = numero.join(','); } } else { if (estoq_prod > 0) { document.getElementById("qtdeTotal").value = document.getElementById("estoqprod").value; } else { document.getElementById("qtdeTotal").value = "0,00"; } } } /*---Função para Formatar Campo para Moeda [R$]---*/ function FormataMoeda(objTextBox, SeparadorMilesimo, SeparadorDecimal, e){ var sep = 0; var key = ''; var i = j = 0; var len = len2 = 0; var strCheck = '0123456789'; var aux = aux2 = ''; var whichCode = (window.Event) ? e.which : e.keyCode; if (whichCode == 13) return true; key = String.fromCharCode(whichCode); // Valor para o código da Chave if (strCheck.indexOf(key) == -1) return false; // Chave inválida len = objTextBox.value.length; for(i = 0; i < len; i++) if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal)) break; aux = ''; for(; i < len; i++) if (strCheck.indexOf(objTextBox.value.charAt(i))!=-1) aux += objTextBox.value.charAt(i); aux += key; len = aux.length; if (len == 0) objTextBox.value = ''; if (len == 1) objTextBox.value = '0'+ SeparadorDecimal + '0' + aux; if (len == 2) objTextBox.value = '0'+ SeparadorDecimal + aux; if (len > 2) { aux2 = ''; for (j = 0, i = len - 3; i >= 0; i--) { if (j == 3) { aux2 += SeparadorMilesimo; j = 0; } aux2 += aux.charAt(i); j++; } objTextBox.value = ''; len2 = aux2.length; for (i = len2 - 1; i >= 0; i--) objTextBox.value += aux2.charAt(i); objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len); } return false; }  
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Estou com uma dúvida de validação de INPUT com função moeda.
       
      Tenho um input onde o usuário digita um valor qualquer, por exemplo: 1.234,56
      o problema é quando precisa atualizar o valor.
       
      Quando o usuário atualizar o input fica assim: 1.234,
       
      como faço para atualizar as casas decimais, conforme o valor for sendo alterado ?
       
      o input está assim:
       
      <div class="col-md-2"> <label for="">Valor Unitário</label> <input type="text" class="form-control" id="estoqprod" name="estoqprod" style="font-size:15px; font-weight:bold; width:100%; text-align:center;" placeholder="0,00" OnKeyUp="calcProd();" onkeypress="return(FormataMoeda(this,'.',',',event))" > </div>  
      a função para formatar o input para moeda está assim:
      obs.: a Função CalcProd está executando corretamente
      function calcProd(){ //Obter valor digitado do produto var estoq_prod = document.getElementById("estoqprod").value; //Remover ponto e trocar a virgula por ponto while (estoq_prod.indexOf(".") >= 0) { estoq_prod = estoq_prod.replace(".", ""); } estoq_prod = estoq_prod.replace(",","."); //Obter valor digitado do produto var prod_qtde = document.getElementById("qtde").value; //Remover ponto e trocar a virgula por ponto while (prod_qtde.indexOf(".") >= 0) { prod_qtde = prod_qtde.replace(".", ""); } prod_qtde = prod_qtde.replace(",","."); //Calcula o Valor do Desconto if (prod_qtde > 0 && estoq_prod > 0) { calc_total_produto = parseFloat(prod_qtde) - parseFloat(estoq_prod); var numero = calc_total_produto.toFixed(2).split('.'); //Calculo para não deixar GRAVAR valores negativos if (calc_total_produto < 0 ) { numero[0] = numero[0].split(/(?=(?:...)*$)/).join('.') * -1; document.getElementById("qtdeTotal").value = numero.join(','); } else { numero[0] = numero[0].split(/(?=(?:...)*$)/).join('.'); document.getElementById("qtdeTotal").value = numero.join(','); } } else { if (estoq_prod > 0) { document.getElementById("qtdeTotal").value = document.getElementById("estoqprod").value; } else { document.getElementById("qtdeTotal").value = "0,00"; } } } /*---Função para Formatar Campo para Moeda [R$]---*/ function FormataMoeda(objTextBox, SeparadorMilesimo, SeparadorDecimal, e){ var sep = 0; var key = ''; var i = j = 0; var len = len2 = 0; var strCheck = '0123456789'; var aux = aux2 = ''; var whichCode = (window.Event) ? e.which : e.keyCode; if (whichCode == 13) return true; key = String.fromCharCode(whichCode); // Valor para o código da Chave if (strCheck.indexOf(key) == -1) return false; // Chave inválida len = objTextBox.value.length; for(i = 0; i < len; i++) if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal)) break; aux = ''; for(; i < len; i++) if (strCheck.indexOf(objTextBox.value.charAt(i))!=-1) aux += objTextBox.value.charAt(i); aux += key; len = aux.length; if (len == 0) objTextBox.value = ''; if (len == 1) objTextBox.value = '0'+ SeparadorDecimal + '0' + aux; if (len == 2) objTextBox.value = '0'+ SeparadorDecimal + aux; if (len > 2) { aux2 = ''; for (j = 0, i = len - 3; i >= 0; i--) { if (j == 3) { aux2 += SeparadorMilesimo; j = 0; } aux2 += aux.charAt(i); j++; } objTextBox.value = ''; len2 = aux2.length; for (i = len2 - 1; i >= 0; i--) objTextBox.value += aux2.charAt(i); objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len); } return false; }  
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Desculpa postar minha dúvida, fiz várias pesquisa mas não tive sucesso.
       
      Como faço para capturar o ID do SELECT selecionado e passar para base_url ?
       
      Exemplo:
      após selecionar o ID passar para <?php echo base_url();?>estoque/ajuste/adicionar/ <== passar o ID aqui.
       
      <div class="col-md-6"> <label for="tipoDepart" class="control-label">Departamento:</label> <select name="tipoDepart" id="tipoDepart" style="width:100%;" class="form-control"> <option value="">Selecione um Departamento</option> <?php foreach ($dprts as $dp) { echo '<option value="'.$dp->idDepartamento.'">'.$dp->departamento.'</option>'; } ?> </select> </div> <div class="col-md-6"> <div class="card card-entrad"> <div class="card-header"> <label class="card-tlentr">Entrada - Estoque</label> </div> <div class="card-body"> <div style="text-align:center;"> <a href="<?php echo base_url();?>estoque/ajuste/adicionar/" <== COMO PASSO O ID SELECIONADO AQUI, PARA ABRIR A PÁGINA COM O ID DO DPTO ? class="btn btn-cinza">Adicionar</a> </div> </div> </div> </div>  
      Observação: preciso capturar e passar o ID para gerar TABELA referente a cada departamento.
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Tem como passar para o Formulário um Campo vindo via AJAX no formato moeda ?
       
      Tenho uma rotina onde o usuário escolhe através de uma Lista na modal de Produtos e o sistema informa o formulário os seguintes campos:
      código | descrição | espécie | estoque atual.
       
      o estoque atual preciso passar nesse formato, para validação de quantidade: 15.00 ou 15,00.
      ou seja:
      converter de: 15 
      para: 15.00 com casas decimais

      tem como fazer isso ?
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Tem como passar para o Formulário um Campo vindo via AJAX no formato moeda ?
       
      Tenho uma rotina onde o usuário escolhe através de uma Lista na modal de Produtos e o sistema informa o formulário os seguintes campos:
      código | descrição | espécie | estoque atual.
       
      o estoque atual preciso passar nesse formato, para validação de quantidade: 15.00 ou 15,00.

      tem como fazer isso ?
       
      Grato,
       
      Cesar
×

Informação importante

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