Jump to content
joaonunofz

combox onchange + function

Recommended Posts

Boa noite , como posso fazer o update da minha base dados somente fazendo o evento onchange da minha combox e usando uma função em php?

Sei que estou falhando em algo.....alguem me pode ajudar?

Eis o meu codigo... :


<?php

function altera_newsletter()

{


$news_letters = $_POST['Newsletter'];


$altera_newsletter = $ligacao->query("UPDATE utilizadores SET newsletters = '$news_letters' WHERE id = '".$_SESSION['id']."' ");

}

?>




<select name="Newsletter" id="nw" onChange="altera_newsletter();">

<option value="">Selecione</option>

<option value="sim">Sim</option>

<option value="não">Não</option>

</select>

Share this post


Link to post
Share on other sites

altera_newsletter() terá que ser uma chamada para uma função em JS que irá disparar um evento para o PHP, ou seja, ajax. Do jeito que você idealizou a coisa nunca vai funcionar.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By camisbales
      Olá,
      preciso resolver o seguinte exercício:
      Uma professora de programação, cansada de que os estudantes cheguem tarde, decidiu que vai cancelar a aula se há poucos presentes.
      Ela representa a entrada dos estudantes como um array de tempos de chegada tarde, em minutos. Por exemplo, se um estudante chegou 10 minutos atrasado, outro 5 minutos antes da hora, outro com 3 minutos de atraso, e outro pontual, poderá representar assim:
      var alunosDaSegunda = [10, -5, 3, 0];
      Com essa informação e a quantidade mínima de estudantes para que suceda o curso, a professora quer saber se a aula acontecerá. Por exemplo, supondo que a quantidade mínima de estudantes para que a aula aconteça é de 2 alunos, então o curso da segunda-feira se realizará, porque houve um estudante que foi pontual e um estudante que chegou cedo.
       acontece(alunosDaSegunda, 2)
      true
      Mas se a quantidade mínima fosse 3, a aula não aconteceria:
       acontece(alunosDaSegunda, 3)
      false
      Escreva as seguintes funções: 1. acontece, que diz se a aula sucederá de acordo com o array dos estudantes que entraram. 2. aberturas, que utiliza um array com os arrays dos estudantes que entraram nos outros dias, e a quantidade mínima de estudantes, e diga quais os dias em que as aulas aconteceram e quais não. Por exemplo:
      aberturas([alunosDaSegunda, alunosDaTerça, alunosDaQuarta], 2)
      [true, false, false]
      A seguir o código que eu escrevi e os erros apresentados:
      function acontece (alunosDia, quorum){
          let resultado = [];
          for (let i = 0; i < alunosDia.length; i++){
          if (alunosDia <= 0){
          resultado.push (alunosDia);}
          if (resultado.length >= quorum) {
          return true;}
          }
      }
          
      function aberturas (alunosDia, quorum){
          let resultadoArray = [];
          for (let i = 0; i < alunosDia.length; i++){
          resultadoArray.push(acontece(alunosDia, quorum));
          }
      }
      ERROS
      acontece([10, -5, 3, 0], 4) - deveria retornar false;
       acontece([10, -5, 3, 0], 3 - deveria retornar false;
       aberturas([[0, 0, 3, 0], [1, 2, 4, 5], [0, 0, -1]], 3) - undefined deepEqual [ true, false, true ];
       aberturas([[0, 0, -3, 0], [1, 2, 4, 5], [0, 0, -1]], 4) - undefined deepEqual [ true, false, false ].
       
    • By carlosguimaraes1801
      Olá,
       
      Gosto muito de programação, mas comecei a programar a pouco tempo.
      Recentemente decidimos fazer uma grande modificação no site da empresa na qual sou sócio.
       
      Deu tudo certo, mas achei uma limitação no LearnPress, o plugin de gerenciamento de cursos que utilizamos. Gostaríamos de exibir os preços parcelados abaixo do valor integral de cada curso cadastrado no LearnPress.
       
      Como não encontrei nenhum add-on ou algo pronto na internet, criei a seguinte function que calcula o preço parcelado de cada curso, com valor mínimo da parcela de R$9,00 e a adicionei ao arquivo functions.php do Wordpress.
       
      Eu testei a function e ela funcionou perfeitamente.
       
      <?php /*------------------CALCULA O PREÇO PARCELADO------------------*/ function installment_price_course($nparcelas, $sale_price) { $sale_price = (float)$sale_price; $pparcelado = $sale_price/$nparcelas; if ($sale_price < 9) { $nparcelas = 1; $pparcelado = $sale_price; echo $nparcelas.' x R$ '.number_format($pparcelado, 2, ",", ".").' sem juros'; } else { if ($pparcelado >=9) { $nparcelas = 12; echo $nparcelas.' x R$ '.number_format($pparcelado, 2, ",", ".").' sem juros';} else { for ($nparcelas = 12; $nparcelas >= 1; $nparcelas--) { $pparcelado = $sale_price/$nparcelas; if ($pparcelado >= 9) { break; } } echo $nparcelas.' x R$ '.number_format($pparcelado, 2, ",", ".").' sem juros'; } } } /> No entanto, ao chamar a function com os parâmetros (12, $price) aparecem o seguinte erros:
       
      Warning: A non-numeric value encountered in /home/.../eduma-child/functions.php on line 101 1x R$ Warning: number_format() expects parameter 1 to be float, string given in /home/.../eduma-child/functions.php on line 106 sem juros  
      Pensei que poderia ser que a variável $price fosse uma string. Então inseri o seguinte trecho na function para converter a string em float:
      <?php $sale_price = floatval($sale_price); ?> Após inserir esse trecho o erro desapareceu mas o valor parcelado mostrado é 0. O estranho é que se eu substituo o parâmetro variável por um número qualquer, ele retorna o valor parcelado corretamente.
       
      Segue o código da página de curso.
       
      <?php defined( 'ABSPATH' ) || exit(); $user   = LP_Global::user(); $course = LP_Global::course(); $class = ''; $class .= ( $course->has_sale_price() ) ? ' has-origin' : ''; if ( $course->is_free() ) {     $class .= ' free-course'; } if ( ! $price = $course->get_price_html() ) {     return; } ?> <div class="course-price">     <div class="value <?php echo $class;?>">         <?php if ( $course->has_sale_price() ) { ?>             <span class="course-origin-price"> <?php echo $course->get_origin_price_html(); ?></span>         <?php } ?>         <?php echo $price; ?>     </div>     <span style="font-size: 14px; font-weight: normal"><?php installment_price_course (12, $price);?></span> </div> ?>  
      --------- Atualização ---------
      Também notei que se eu defino uma variável $price2 e atrubuo um valor qualquer a ela, posso usá-la sem problemas como parâmetro da function. Ex.:
       
      (installment_price_course (12, $price);  
      Além disso, a variável $price está ok e ela mostra o preço integral do curso normalmente. Testei-a com o echo $price e está ok.
       
      ------------------
       
      Alguém poderia me ajudar? Será que isso que estou tentando fazer de colocar uma variável na chamada da function é incorreto?
      Preciso muito solucionar este problema.
       
      Desde já agradeço a atenção de todos.
    • By nathicoelhoo
      Tenho um cadastro de cliente e no cadastro é selecionado o sexo e o estado, por exemplo. Na área de edição, preciso puxar esses dados JÁ SELECIONADOS para um combobox. Tentei fazer com foreach porém não funcionou. Alguém pode me ajudar?
      <div class="form-group col-md-5" > <label for="inputSexo">Sexo</label> <select name="sexo_cliente" id="sexo_cliente" class="form-control" disabled> <option selected disabled="">Sexo</option> <?php require_once "api/conexao.php"; try { $prepared3 = $conexao_pdo->prepare("select * from sexo"); $prepared3->execute(); $result3 = $prepared3->fetchAll(); foreach($result3 as $resultado3) { echo "<option value='". $resultado3["cod"] ."'>". $resultado3["sexo"] ."</option>"; } } catch (PDOException $e) { echo "<option></option>"; } ?> </select> </div>  
    • By Icaro Luan
      error
    • By FMonteiro
      Estou com um problema na chamada de uma função criada em uma classe. 
      Ao fazer a chamada da função, recebo uma mensagem de que a função não existe. 
      A mensagem de erro é: 
      "Fatal error: Uncaught Error: Call to undefined function EXECUTAR() in C:\...\cls_bd.php:154 Stack trace: #0 C:\...\cls_mail.php(99): bd->INSERIR('tbmensagens', 'data,hora,nome,...', 'DATE_FORMAT((se...', NULL) #1 C:\...\cls_mail.php(108): GRAVAR_EMAIL('Empresa Produto...', 'lu@gmail.com', '3230833394', 'Nome: Empresa P...') #2 C:\...\cls_contato.php(31): ENVIAR_GRAVAR_EMAIL('Empresa Produto...', 'lu@gmail.com', '3230833394', 'Nome: Empresa P...') #3 {main} thrown in C:\...\cls_bd.php on line 154"
      Na foto em anexo, há o script criado com a chamada da função (linha 154) e da função criada (linha 123).
      Será que alguém pode jogar uma luz no assunto para mim?

×

Important Information

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