Ir para conteúdo

gersonab

Members
  • Total de itens

    456
  • Registro em

  • Última visita

Tudo que gersonab postou

  1. gersonab

    Soma dos dias utilizados

    resolvido $consultad = $pdo->query("SELECT COUNT(DISTINCT datataxa) AS id, idmb FROM mototaxa WHERE datataxa BETWEEN '".$data1."' AND '".$data2."' AND idmb = '".$user."'");
  2. gersonab

    Soma dos dias utilizados

    Boa tarde, preciso saber a quantidade de dias em um cadastro que foram utilizados, guardo estas data no mesmo, porem ao efetuar a pesquisa entre datas, há intervalo entre as mesmas, tipo: dias utilizados - 01 - 02 - 05 - 10 - 15 / 04/2024 podemos observar que foram utilizados 5 dias, o que preciso é q na pesquisa entre 01 a 16 ( por exemplo ) me retorne 5 . a minha pesquisa esta me retornando a diferença entre as datas. $consulta = $pdo->query("SELECT * FROM taxa WHERE datataxa BETWEEN '".$data1."' AND '".$data2."' AND idmb = '".$user."' ORDER BY idtm ASC");
  3. gersonab

    update em mais de um id, dependendo do id

    Bom dia estou com uma dúvida de como proceder, tenho uma tabela de categoria e uma de subcategoria, a categoria pode ter várias subs, até ai tranquilo, quando faço update de uma sub altero normalmente a quantidade deste, até aí normal, porém me deparei com uma situação um pouco diferente, vou tentar ser o mais claro possível, de certa forma algumas subs são comuns só mudando o nome praticamente, aí eu preciso que ao efetuar o update em umas destas este ocorra nas demais, tipo: Se o id da sub for 5 , eu preciso fazer o mesmo update nos ids 6 e 7 ; Se o id da sub for 9 , eu preciso fazer o mesmo update no id 10 se for 2 , fazer o update somente neste ainda não estou conseguindo ver uma lógica para isso, e ou uma nova coluna para cadastrar em comum nestes casos. qual seria a melhor opção
  4. gersonab

    update em mais de um id, dependendo do id

    fiz uma coluna de referência com um outro id que é cadastrado conforme a necessidade, se esta não for vazia ele faz o update nos ids que preciso , se for vazia faz somente naquele. tipo os ids de chaves primárias 5, 6 e 7 tem em comum este outro id de referência, logo o update é feito em cima deste de referência se não faz no de chave primária
  5. gersonab

    datatable exportar pdf largura 100%

    muito obrigado, só acrescentei doc.defaultStyle.alignment = 'center'; ficou perfeito. OBRIGADO
  6. gersonab

    datatable exportar pdf largura 100%

    Bom dia a todos, estou usando o datatable com uma consulta mysql e funciona 100% , meu único problema é na hora que eu exporto para pdf, este não vem com sua largura da tabela exportada em 100%, dependendo da situação ocupa apenas 30% da página, infelizmente após varias pesquisas ainda não encontrei uma forma de fazer. segue meu código de forma simples: $('#exportar').DataTable( { language: { url: '//cdn.datatables.net/plug-ins/1.13.7/i18n/pt-BR.json', }, dom: 'Bfrtip', order: [[ 0, 'desc' ]], buttons: [ 'pdfHtml5' ] } ); desde já agradeço toda ajuda possível
  7. gersonab

    dividir o loop while em duas colunas

    Boa noite a todos, gostaria da ajuda de vcs, tenho um loop while dentro de uma janela modal, eu preciso q este seja dividido em duas colunas, pois esta ficando um pouco extenso, este lista opções que tenho no BD, fazendo os checkbox. estrutura . <div class="row"> <div class="col-md-12 ml-auto"> <label for="recipient-name" class="col-form-label">Opções:</label> <?php $curc4 = $pdo->query("SELECT * FROM opcoes ORDER BY opcao asc"); while ($lic4 = $curc4->fetch(PDO::FETCH_ASSOC)) { ?> <div class="checkbox-dark m-squar"> <input type="checkbox" name="opcao[]" id="opcao" value="<?php echo $lic4['opcao']; ?>"> <label class="mt-0" ><?php echo $lic4['opcao']; ?></label> </div> <?php } ?> </div> </div> no momento com 22 itens cadastrados, gostaria de mostrar duas colunas de 11 itens, desde já agradeço.
  8. gersonab

    destruir uma session ao fechar modal

    Como faço para destruir uma session quando a modal for fechada, esta foi criada na mesma. Favor desconsiderar esta, estava com problema de cache
  9. gersonab

    mostrar checkbox conforme seleção

    Consegui resolver com session e uma condição na página que recebe os dados <?php $subtc = $_GET['subcategoria']; $checked = isset($_GET['selected']) ? $_GET['selected'] : null; $sub = $_SESSION["sub"]; if($subtc === ''){ $subcc = $sub; } else { $subcc = $subtc; } ?>
  10. gersonab

    mostrar checkbox conforme seleção

    boa noite , tenho uma função que funciona perfeitamente para cadastro, no entanto para editar já não estou conseguindo, o que acontece no cadastro: 1 - no primeiro select conforme a opção selecionada ele preenche o segundo select - ok 2- quando seleciono a opção no segundo select, ele mostra os checkbox relacionados a esta opção - ok acontece que não ocorre o evento onchange pois os mesmos já estão selecionados, caso eu mede mostra os checkbox normalmente informo que estes estão em uma janela modal externa var selectSub = document.getElementById('subcategoria'); var montaChec = function () { var selectSubchec = document.getElementById('opcaochcek'); var valor = selectSub.value; var selected = selectSubchec.dataset.subcategoria_id; fetch("chec_opcao.php?subcategoria=" + valor + "&selected=" + selected) .then(response => { return response.text(); }) .then(texto => { selectSubchec.innerHTML = texto; }); } selectSub.onchange = () => { montaChec(); } montaChec();
  11. gersonab

    mostrar checkbox conforme seleção

    deixa eu melhorar minha dúvida, no cadastro funciona perfeitamente, pois ocorre o evento quando seleciono um item no select option, já quando abro a janela para editar este select já vem com a opção selecionada logo ela não mostra os dados dos checkbox e outros inputs, mas se eu mudar o select ela mostra estes dados. <select class="form-select" name="subcatcvend" id="subcategoria" data-subcategoria_id="<?php echo $subcategoria2;?>">
  12. gersonab

    diferença entre horas para aplicar uma classe

    Boa tarde a todos, gostaria de aplicar uma classe a uma determinada informação, não estou conseguindo, busco no BD a hora do cadastro, faço a diferença com a hora atual, até aí trq, só não consigo aplicar a classe. <?php $horapf = $linha['horapf']; $horaatual = date("H:i:s"); $entrada = DateTime::createFromFormat('H:i:s', $horapf); $saida = DateTime::createFromFormat('H:i:s', $horaatual); $maisq = '00:30:00'; $menosq = '00:40:00'; $intervalo = $entrada->diff($saida); $intervalo->format('%H:%I:%S'); if($maisq <= $intervalo && $intervalo < $menosq){ $clss = 'class="btn btn-xs btn-outline-warning"'; } elseif ($intervalo >= $menosq){ $clss = 'class="btn btn-xs btn-outline-danger"'; } else { $clss = 'class="btn btn-xs btn-outline-info"'; } mesmo se retirar esta linha -----> $intervalo->format('%H:%I:%S'); para sempre no primeiro, independente do tempo btn-outline-warning
  13. gersonab

    diferença entre horas para aplicar uma classe

    perfeito meu amigo, o problema foi preguiça nesta linha, copiar e colar, digitei a mesma e funcionou perfeitamente, muito obrigado
  14. gersonab

    diferença entre horas para aplicar uma classe

    boa noite, esta dando o seguinte erro : Parse error: syntax error, unexpected '' (T_STRING) in C: que é esta linha $dataformatada = $intervalo ->format('%H:%i:% s') ;
  15. gersonab

    dividir o loop while em duas colunas

    Bom dia a todos, vou compartilhar como consegui resolver aqui, pois alguém pode precisar. <div class="row"> <div class="col-md-12 ml-auto"> <label for="recipient-name" class="col-form-label">Opções:</label> </div> </div> <div class="row"> <div class="col-md-6 ml-auto"> <?php $curc4 = $pdo->query("SELECT COUNT(idop) AS idpp, opcao FROM opcoes ORDER BY opcao asc"); $lic = $curc4->fetch(PDO::FETCH_ASSOC); $opp = $lic['idpp']; $contando = floor($opp/2); $maximo = $contando; $conta = 1; if($opp%2 !=0) $maximo = $contando+1; $curc40 = $pdo->query("SELECT * FROM opcoes ORDER BY opcao asc"); while ($lic4 = $curc40->fetch(PDO::FETCH_ASSOC)) { ?> <div class="checkbox-dark m-squar"> <input type="checkbox" name="opcao[]" id="opcao" value="<?php echo $lic4['opcao']; ?>"> <label class="mt-0" ><?php echo $lic4['opcao']; ?></label> </div> <?php if($conta == $maximo){ ?> </div> <div class="col-md-6 ml-auto"> <?php } $conta++; } ?> </div> </div>
  16. gersonab

    somar colunas da tabela que estão em um loop

    boa tarde a todos, tenho a seguinte estrutura de uma página. orçamento 01 com sua descrição serviço 01 com sua descrição serviço 02 com sua descrição serviço 03 com sua descrição orçamento 02 com sua descrição serviço 01 com sua descrição serviço 02 com sua descrição serviço 03 com sua descrição soma dos valores das colunas aqui vem os dados somados q preciso o que preciso agora é: orçamento 01 com sua descrição serviço 01 com sua descrição serviço 02 com sua descrição serviço 03 com sua descrição soma dos valores das colunas do orçamento 01 aqui vem os dados somados q preciso orçamento 02 com sua descrição serviço 01 com sua descrição serviço 02 com sua descrição serviço 03 com sua descrição soma dos valores das colunas do orçamento 02 aqui vem os dados somados q preciso soma dos valores das colunas aqui vem os dados somados q preciso seria simples se tivesse todos os valores gravados no BD , porém boa parte desses valores vem de cálculos matemáticos. segue como fiz a primeira parte: tabela com os cálculos matemáticos e o resultados da soma: while { <tr> <td> </td> <td class="ct1"> <?php echo $vtpc; ?></td> <td class="ct2"> <?php echo $plc1; ?> </td> <td> <?php echo $uso1;?> </td> <td class="ct3"> <?php echo $valcuscto; ?></td> <td class="ct4"> <?php echo $va01; ?></td> <td> <?php echo $usosob; ?> </td> <td class="ct5"> <?php echo $metrx; ?> </td> <td class="ct6"> <?php echo $valort; ?></td> </tr> <?php } ?> </tbody> <tfoot> <tr> <th> Total</th> <th class="tt1"> </th> <th class="tt2"> </th> <th> </th> <th class="tt3"> </th> <th class="tt4"> </th> <th> </th> <th class="tt5"> </th> <th class="tt6"> </th> </tr> </tfoot> com o javascript: $(function(){ let total = 0, totala = 0, totalb = 0, totalc = 0, totald = 0, totale = 0; $('.ct1').each(function(){ total += parseFloat(jQuery(this).text()); }); $('.ct2').each(function(){ totala += parseFloat(jQuery(this).text()); }); $('.ct3').each(function(){ totalb += parseFloat(jQuery(this).text()); }); $('.ct4').each(function(){ totalc += parseFloat(jQuery(this).text()); }); $('.ct5').each(function(){ totald += parseFloat(jQuery(this).text()); }); $('.ct6').each(function(){ totale += parseFloat(jQuery(this).text()); }); $('.tt1').html(total.toLocaleString('pt-BR', { style: 'currency', currency: 'BRL' })); $('.tt2').html(totala); $('.tt3').html(totalb.toLocaleString('pt-BR', { style: 'currency', currency: 'BRL' })); $('.tt4').html(totalc.toLocaleString('pt-BR', { style: 'currency', currency: 'BRL' })); $('.tt5').html(totald.toLocaleString('pt-BR', { minimumFractionDigits: 2})); $('.tt6').html(totale.toLocaleString('pt-BR', { style: 'currency', currency: 'BRL' })); }); para o primeiro caso funciona perfeitamente, já para o laço só na primeira. já fiz algumas modificações tipo ... <td class="ctta<?php echo $idcatcx; ?>"> <?php echo $vtpc; ?></td> //..... <th class="cttca<?php echo $idcatcx; ?>"> </th> //// e let atotal = 0, atotala = 0, atotalb = 0, atotalc = 0, atotald = 0, atotale = 0; $('.ctta'+<?php echo $idcatc; ?>).each(function(){ atotal += parseFloat(jQuery(this).text()); }); $('.cttca'+<?php echo $idcatc; ?>).html(atotal.toLocaleString('pt-BR', { style: 'currency', currency: 'BRL' })); sei q preciso fazer um laço no java mas não estou sabendo
  17. gersonab

    somar colunas da tabela que estão em um loop

    é verdade , bem mais simples, eu só não queria mexer na tabela, porém não teve jeito, obrigado.
  18. gersonab

    somar colunas da tabela que estão em um loop

    bom dia vou tentar explicar melhor. conforme a imagem enviada, no caso 1 funciona perfeitamente, que é onde eu tenho a descrição total e o somatório total das colunas da tabela conforme minha necessidade, feito dessa forma pq existe cálculos para preencher as colunas com outros valores. agora foi preciso colocar esse detalhamento por parte conforme o caso 2 , só que preciso fazer um loop no java, pois posso ter 1 ou mais orçamentos dentro deste, no caso 2 mantive 2 orçamentos, no entanto posso ter mais, a tabela q faz a soma dos itens dos orçamentos é a que tenho as classes , somo os itens da class= ct e mostro o resultado na class = tt conforme a coluna. tentei dessa forma porém da erro no console <td style="display:none;" class="idsoma"><?php echo $idcatcx; ?></td> <td class="ctta" style="text-align: center !important;"> <?php echo $vtpc; ?></td> <td class="cttb" style="text-align: center !important;"> <?php echo $plc1; ?> </td> /// /// /// var somaid = document.querySelectorAll('.idsoma'); var valores = []; for(var i = 0; i < somaid.length; i++){ var valor = somaid[i].textContent; valores.push(valor); $(function(){ let atotal + valores = 0, atotala + valores = 0, atotalb + valores = 0, atotalc + valores = 0, atotald + valores = 0, atotale + valores = 0; $('.ctta' + valores).each(function(){ atotal + valores += parseFloat(jQuery(this).text()); }); $('.cttb' + valores).each(function(){ atotala + valores += parseFloat(jQuery(this).text()); }); ////// erro -> Uncaught SyntaxError: unexpected token: '+'
  19. gersonab

    somar e inserir em outra tabela

    resolvi da seguinte forma, faço a soma e insiro os 2 dados q preciso na tabela 3, depois dessa uma nova soma e insiro na tabela 1, trabalho com a tabela 3 como se fosse uma temporária, apagando os seus respectivos registros após inserir na tabela 1.
  20. gersonab

    somar e inserir em outra tabela

    Boa tarde, estou quebrando a cabeça aqui para somar os dados agrupados de vários itens distintos de uma tabela e inserir em outra. tipo : $consulta31 = $pdo->query("SELECT SUM(valoror) AS val1, SUM(metros) AS metr, orc, idcatc, idmate FROM orcamencli WHERE orc=$orc GROUP BY idcatc, idmate"); $user331 = $consulta31->fetch(PDO::FETCH_ASSOC); $orcx = $user331['orc']; $idcatcx = $user331['idcatc']; $val1x = $user331['val1']; $metrx = $user331['metr']; $idmatex = $user331['idmate']; o resultado de cada item agrupado eu faria um outro calculo separado para inserir em outra tabela, tipo ... a tabela acima eu teria algo assim : orcx = 01 - 01 - 01 - 01 - 01 - 01 - 01 - 01 - 01 idcatcx = 11 - 11 - 11 - 11 - 11 - 11 - 11 - 11 - 11 val1x = 1,00 - 1,00 - 3,00 - 3,00 - 3,00 - 1,00 - 3,00 - 1,00 - 2,00 metrx = 01 - 01 - 03 - 03 - 03 - 01 - 03 - 01 - 02 idmatex = 11 - 11 - 21 - 21 - 21 - 31 - 31 - 31 - 31 preciso inserir na outra tabela o seguinte : orc = 01 - 01 - 01 idcatc = 11 - 11 - 11 val1 = 2,00 - 9,00 - 7,00 ( aqui não é só a soma dos valores , existe um outro cálculo ) metr = 02 - 09 - 07 idmate = 11 - 21 - 31 a dúvida é --> como inserir estes valores separados de uma única vez em outra tabela.
  21. gersonab

    somar e inserir em outra tabela

    bom dia, uma pergunta, para que complicar algo tão simples ? vamos esquecer esse mundarel de tabelas, apenas utilizado 2, sendo: tabela1 nesta tabela eu tenho a categoria de um orçamento, o mesmo orçamento posso ter 1 ou mais categorias, nesta eu tenho: descrição id da categoria id do orçamento valor de custo dessa categoria valor total do pedido desta categoria tabela 2 nesta tabela eu tenho os pedidos feitos: descrição do produto id da categoria da tabela 1 quantidade de produto pedido valor total do produto pedido conforme a quantidade o que eu preciso é somar todos os produtos pedidos na tabela 2 conforme a categoria, porém não tenho como fazer simplesmente agrupando pelo id da categoria, pois estes como informado acima depende de um calculo individual de cada produto, eu consigo fazer este cálculo sem problema , porém ao somar estou tendo o seguinte erro : Warning: array_column() expects parameter 1 to be array, string given in /home/... on line 159 Warning: array_sum() expects parameter 1 to be array, null given in /home... on line 159 Warning: array_column() expects parameter 1 to be array, string given in /home/... on line 160 Warning: array_sum() expects parameter 1 to be array, null given in /home/... on line 160 as linhas 159 e 160 : <?php $valorfinal = array_sum(array_column($iddacategoria,$valordocalculoindividual)); $valorfinaldocusto = array_sum(array_column($iddacategoria,$valordocalculoindividualdocusto)); ?> a tabela 2 está dentro de um laço da tabela 1.
  22. gersonab

    somar e inserir em outra tabela

    Desde já agradeço as ajudas q tenho tido, tenho feito muitas perguntas pq andei parado um tempo, vi q preciso me atualizar e muito, que é o que já comecei a fazer, mas o q me incentivou foi um amigo q pediu para fazer este programa para ele, está como uns dos desafios q terei pela frente. inserir e excluir, já acertei, agora o problema esta na atualização, se eu trocar o tipo de material ( somente o tipo ) e este tiver mais de um igual, faço o update porém perco os dados do antigo na segunda tabela, mantendo só o novo e os q eram diferentes do q foi modificado. tipo, no exemplo acima se eu modificar o um idmatex tipo o 21, passaria para 23 por exemplo: antes -> idmatex = 11 - 11 - 21 - 21 - 21 - 31 - 31 - 31 - 31 antes -> idmate = 11 - 21 - 31 depois de modificado : depois -> idmatex = 11 - 11 - 23 - 21 - 21 - 31 - 31 - 31 - 31 depois -> idmate = 11 - 23 - 31 sendo que continuo com os itens 21 na tabela anterior, como estas tabelas estão separadas devido a novos cálculos e agrupamentos, para " facilitar " quando faço o update do idmatex eu deleto todos os itens com o mesmo idcatc na segunda tabela , faço uma nova leitura com os calculos baseados no idcatx da primeira e faço as inclusões na segunda novamente, só que estou perdendo a referência do q havia na primeira na nova inclusão. segue o código : <?php if(!empty($_POST)) { // Recupera os dados dos campos $idorc = (int)$_POST['idorc']; $orcx = (int)$_POST['orc']; //mais alguns posts //aqui excluo os itens já com os cálculos e aguropados na segunda tabela $sql3 = "DELETE FROM tabela2 WHERE idcatc =:idcatc AND idmate = :idmate"; $stmt = $pdo->prepare($sql3); $stmt->bindParam(':idcatc', $idcatcx, PDO::PARAM_INT); $stmt->bindParam(':idmate', $idmatex, PDO::PARAM_INT); if ($stmt->execute() === false){ echo "<pre>"; print_r($stmt->errorInfo()); } /// aqui vem uma consulta de valores e cálculos conforme os posts, para se fazer o update $sql=$pdo->prepare("UPDATE orcamencli SET xxxxxx WHERE idorc = :idorc"); // faço o update conforme os calculos $sql->bindParam(':idorc',$idorc, PDO::PARAM_INT); if ($sql->execute() === false){ echo "<pre>"; print_r($sql->errorInfo()); } $consulta31 = $pdo->query("SELECT SUM(xxxx) AS val1, SUM(zzzz) AS val2, SUM(ssss) AS metr, yyyy ...... FROM tabela1 WHERE orcx=$orc AND idcatcx=$idcatcx GROUP BY idmatex"); while ($user331 = $consulta31->fetch(PDO::FETCH_ASSOC)){ // após nova soma extraio os itens conforme sua categoria e tipo e seus devidos valores $consulta1 = $pdo->query("SELECT * FROM tabela3 WHERE i=$ii"); $user31 = $consulta1->fetch(PDO::FETCH_ASSOC); // itens extraidos com valores individuais simples if(strpos($expes, 'tipodematerial') !== false){ //cálculos feitos conforme post anteriores sobre multiplos de 5 } $consulta12 = $pdo->query("SELECT * FROM tabela2 WHERE orc=$orcx AND idcat=$idcatx AND idmate=$idmatex"); $user32 = $consulta12->fetch(PDO::FETCH_ASSOC); // itens extraidos para verificar se ja existe na tabela2 if ( $oo != $oo && $cc != $cc && $ii != $ii ){ // se não houver cadastro do item upado , faço um novo cadastro, são vários itens com novos cálculos $sql=$pdo->prepare("INSERT INTO tabela2 ( xxxxxxx ) VALUES ( :xxxxxx )"); // novas inclusões if ($sql->execute() === false){ echo "<pre>"; print_r($sql->errorInfo()); } } else { // se já existe , apenas atualizo $sql=$pdo->prepare("UPDATE tabela2 SET xxxx = :xxxx ..... WHERE idcat=$idcatx AND idmate=$idmatex "); // update feito $sql->bindParam(':idct',$idct5, PDO::PARAM_INT); if ($sql->execute() === false){ echo "<pre>"; print_r($sql->errorInfo()); } } } // depois de atualizado faço uma soma para atualizar a tabela4 com o total $consulta12x = $pdo->query("SELECT SUM(xxxx) AS val1, SUM(zzzz) AS val2, SUM(ssss) AS metr, yyyy ...... FROM tabela2 WHERE orc=$orcx AND idcatc=$idcatcx"); // itens extraidos $stmt=$pdo->prepare("UPDATE tabela4 SET xxxxxxxx WHERE iid = :iid"); $stmt->bindValue(':xx',$xx); $stmt->bindValue(':yy',$yy); $stmt->bindParam(':aa',$idcatx, PDO::PARAM_INT); if ($stmt->execute() === false){ echo "<pre>"; print_r($stmt->errorInfo()); } } ?> me perdoem se ficou grande e complicado, tentei resumir o máximo possível de forma q de para entender.
  23. boa tarde, preciso excluir o item de uma categoria do orçamento e manter a mesma com valor zerado, este se for único não consigo, porém se tiver mais de um funciona fazendo um novo calculo e update . tipo: categoria 1 - valor R$ 100,00 item 1 - valor R$ 50,00 item 2 - valor R$ 50,00 se deletar um dos itens : categoria 1 - valor R$ 50,00 item 1 - valor R$ 50,00 até aí tranquilo, porém se tiver somente um item : categoria 1 - valor R$ 50,00 item 1 - valor R$ 50,00 após deletar este categoria 1 - valor R$ 50,00 precisaria q ficasse assim ? categoria 1 - valor R$ 0,00 <?php if(!empty($_GET)) { $idorc=$_GET['idorc']; $sql = $pdo->query("SELECT * FROM orcamento WHERE idorc = $idorc"); $user = $sql->fetch(PDO::FETCH_ASSOC); $orc = $user['orc']; $id = $user['idcatc']; $fallback = '../adm/orcamento.php?idocl=$orc'; $anterior = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : $fallback; $sql = "DELETE FROM orcamento WHERE idorc = :idorc"; $stmt = $pdo->prepare($sql); $stmt->bindParam(':idorc', $idorc, PDO::PARAM_INT); if ($stmt->execute() === false){ echo "<pre>"; print_r($stmt->errorInfo()); } $consulta = $pdo->query("SELECT colunas da tabela FROM orcamento WHERE orc=$orc AND idcatc = $id"); $user331 = $consulta31->fetch(PDO::FETCH_ASSOC); // dados das colunas $stmt=$pdo->prepare("UPDATE categoria SET valor = :valor WHERE id = :id"); $stmt->bindValue(':valor',$valor); $stmt->bindParam(':id',$id, PDO::PARAM_INT); if ($stmt->execute() === false){ echo "<pre>"; print_r($stmt->errorInfo()); } } else { } header("location: {$anterior}"); exit; ?> espero q tenham entendido.
  24. gersonab

    [Resolvido] update combobox php mysql

    bom dia a todos. tenho um combobox com dados vindo do BD, funciona perfeitamente, porém não consigo fazer com que no update o mesmo não apareça selecionado e tb este não funciona. cadastro funcionando ( janela modal ) <div class="row"> <div class="col-md-12"> <label for="inputAddress">Categoria</label> <select class="form-control" name="tip" id="idm"> <option value="">-- Selecionar --</option> <?php $query55 = $pdo->query("SELECT idm, material FROM mat ORDER BY material ASC"); $registros = $query55->fetchAll(PDO::FETCH_ASSOC); foreach($registros as $option) { ?> <option value="<?php echo $option['idm']?>"><?php echo $option['material']?></option> <?php } ?> </select> </div> <div class="col-md-12"> <label for="inputAddress">Material</label> <select class="form-control" name="idma" id="idma"> <option value="">-- Selecionar --</option> </select> </div> </div> a função do cadastro funcionando let selectCategoria = document.getElementById('idm'); let montaSelect = function () { let selectSubcategoria = document.getElementById('idma'); let valor = selectCategoria.value; let selected = selectSubcategoria.dataset.tip; fetch("select_subcategoria.php?idm=" + valor + "&selected=" + selected) .then(response => { return response.text(); }) .then(texto => { selectSubcategoria.innerHTML = texto; }); } selectCategoria.onchange = () => { montaSelect(); } montaSelect(); o select do cadastro funcionando $tip = $_GET['idm']; $selected = isset($_GET['selected']) ? $_GET['selected'] : null; $query = $pdo->prepare("SELECT * FROM tipomat WHERE tip=:tip ORDER BY tipom ASC"); $datax = ['tip' => $tip]; $query->execute($datax); $registros = $query->fetchAll(PDO::FETCH_ASSOC); echo '<option value="">Selecione um material</option>'; foreach($registros as $option) { $check = ''; if($selected == $option['idma']) { $check = 'selected'; } ?> <option value="<?php echo $option['idma']?>" <?php echo $check; ?>><?php echo $option['tipom']?></option> <?php } como podemos observar estes estão enviando os dados através do id , logo esta sendo usado getElementById , ja passei tudo para class e getElementsByClassName , porém não funciona o update, já modifiquei os ids idm para idm2 e idma para idma2 , modifiquei a função e o select conforme estes , porém não aparece os combos selecionados e não deixa selecionar a subcategoria. <div class="row"> <div class="col-md-12"> <label for="inputAddress">Categoria</label> <select class="form-control" name="idm" id="idm2"> <option value="">-- Selecionar --</option> <?php $query55 = $pdo->query("SELECT idm, material FROM mat ORDER BY material ASC"); $registros = $query55->fetchAll(PDO::FETCH_ASSOC); $check = ''; if($idm == $option['idm']) { $check = 'selected'; } foreach($registros as $option) { ?> <option value="<?php echo $option['idm']?>" <?php echo $check; ?>><?php echo $option['material']?></option> <?php } ?> </select> </div> <div class="col-md-12"> <label for="inputAddress">Material</label> <select class="form-control" name="idma" id="idma2" data-subcategoria_id="<?php echo $idma?>" required> <option value="">-- Selecionar --</option> </select> </div> </div> função 2 let selectCategoria2 = document.getElementById('idm2'); let montaSelect2 = function () { let selectSubcategoria2 = document.getElementById('idma2'); let valor2 = selectCategoria2.value; let selected2 = selectSubcategoria2.dataset.tip; fetch("select_subcategoria2.php?idm2=" + valor2 + "&selected=" + selected2) .then(response => { return response.text(); }) .then(texto => { selectSubcategoria2.innerHTML = texto; }); } selectCategoria2.onchange = () => { montaSelect2(); } montaSelect2(); select $tip = $_GET['idm2']; $selected = isset($_GET['selected']) ? $_GET['selected'] : null; $query = $pdo->prepare("SELECT * FROM tipomat WHERE tip=:tip ORDER BY tipom ASC"); $datax = ['tip' => $tip]; $query->execute($datax); $registros = $query->fetchAll(PDO::FETCH_ASSOC); echo '<option value="">Selecione um material</option>'; foreach($registros as $option) { $check = ''; if($selected == $option['idma']) { $check = 'selected'; } ?> <option value="<?php echo $option['idma']?>" <?php echo $check; ?>><?php echo $option['tipom']?></option> <?php } só lembrando q são janelas modais e estão na mesma página, não aparece erro no console.
  25. gersonab

    função de comparação com multiplos de 5

    boa tarde tem como simplificar criando uma função e ou outra forma para se fazer uma comparação dos múltiplos de 5 de 5 a 200 por exemplo ? assim até funciona mas fica algo ....... ////$a = 5, $b = 10 e assim por diante até 200 if ($metros > 5 && $metros <= 10){ $mtr = bcsub($b, $metros, 3); $va01 = $mtr*$valorm; } else if ($metros > 10 && $metros <= 15){ $mtr = bcsub($c, $metros, 3); $va01 = $mtr*$valorm; +++++++++++++++ } else if ($metros > 195 && $metros <= 200){ $mtr = bcsub($d, $metros, 3); $va01 = $mtr*$valorm;
×

Informação importante

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