Ir ao conteúdo

Posts recomendados

Postado

Olá pessoal.

 

Sou novo com a questão de PHP/MYSQL, e, gostaria de saber duas coisas, ambas já procurei no youtube/google e não consegui achar a resposta, por isto, venho aqui pedir vossa ajuda.

 

1ª: Eu criei um formulário com opções para a pessoa marcar, onde, a correta é a de value '1' e as erradas de value '0'. Eu gostaria de saber como posso aprovar uma pessoa caso todas alternativas marcadas sejam '1' e avisar com um modal na tela se foi ou não aprovada.

 

2ª Caso a mesma seja aprovada, mudar a variável do mysql "whitelisted" de 0 para 1.

 

OBS: Na pergunta "ID" do formulário, o usuário vai colocar um número, e, queria que editasse o "whitelisted" do ID que foi colocado no formulário.

 

CÓDIGO = http://prntscr.com/lyfkzb (mesmo código abaixo em texto)

 

Database = http://prntscr.com/lyflbj

 

		<h6 class="mt-3">Qual sua idade?<br></h6>
		<select class="form-control" name="idade" required="">
		<option value="0" selected="">Não sei</option>
		<option value="0">14-15</option>
		<option value="0">16-17</option>
		<option value="1">18-24+.</option></select>
		
		<h6 class="mt-3">Qual o seu ID?</h6>
        <!-- <p style="font-size: 14px;">Ao tentar conectar ele apresentará uma mensagem informando seu ID.</p> -->
		<input class="form-control" type="number" name="id" required="" placeholder="ID">
		
		<div class="form-group"><button class="btn btn-warning btn-block mt-5" type="submit">SOLICITAR APROVAÇÃO</button></div>
		<button class="btn btn-warning btn-block mt-5" data-toggle="modal" data-target="#result">TESTAR CONEXÃO</button>
    </form>
    </div>
	
    <div class="modal fade" role="dialog" tabindex="-1" id="result">
        <div class="modal-dialog" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <div class="col col-10">
                        <h4 class="text-center d-block mt-3 mb-4" style="color:rgb(16,128,7);">Resultado do formulário</h4>
                    </div><button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button></div>
                <div class="modal-body">
				<?php
					$servername = "localhost";
					$database = "vrp";
					$username = "root";
					$password = "";
					// Create connection
					$conn = mysqli_connect($servername, $username, $password, $database);
					// Check connection
					if (!$conn) {
						die("Infelizmente a conexão com a database falhou!" . mysqli_connect_error());
					}
					echo "A conexão com a database 'vrp' foi feita com êxito!";		
					 mysqli_close($conn);
				?>
   </div>
                <div class="modal-footer"><button class="btn btn-danger" type="button" data-dismiss="modal">FECHAR</button></div>
            </div>
        </div>
    </div>

 

  • Moderador
Postado

@ZaaptBR Olá. seja bem vindo em nosso Clube do Hardware.

Para o seu problema, dá para resolver de diversas maneiras.

 

A mais simples e prática, é você usar o ajax com jQuery ao submeter o formulário.  Então o php retorna se é aprovado ou não.

Se as respostas forem fixas, você precisa que apenas seja aprovado caso elas forem "true"

Estas variáveis receberão os valores do select e di campo type number.

Aí você vai testar estas variáveis e vai fazer algo de acordo com elas.

Por exemplo.

$.ajax({
    url: "arquivo.php",
    dataType: "HTML",
    method: "POST",
    data: dados.serialize();
}).done(function(retorno){
     //aqui vai ser o lugar onde vai inserir o conteúdo se bem sucedido.


}).fail(function(retorno){

    //aqui vai ser o lugar onde vai inserir o conteúdo caso for mal sucedido.


});

 

Então, ali dentro da função done() você vai colocar assim:  $(".modal-body").html(retorno)  Para que inclua dentro do modal o retorno se é aprovado ou não.

Não costumo dar um código completo, mas como você apresentou uma tentativa e está disposto a estudar, vou deixar funcional.  Porém é de extrema importância que você não copie o código, porque pode apresentar problemas. Por isso é melhor você usar o código como referência de estudo e implementar seu próprio código.

 

Vamos lá.

 

Pelo seu formulário você vai enviar ao php duas informações:  A idade e o ID.

 

Então, para usar aquele código do ajax mais acima vai colocar ele sendo disparado por um evento de clique do mouse no botão de submit desta maneira:

 

var enviar = $(".enviar");

//ação de clicar no botão
enviar.on("click", function(){
  //aqui pegamos a classe do elemento form, é melhor que use uma classe duferenciada
  var dados = $("form");
   $.ajax({
    url: "arquivo.php",
    dataType: "HTML",
    method: "POST",
    data: dados.serialize();
    }).done(function(retorno){
          //aqui inserimos o retorno da consulta. No caso se aprovado ou reprovado
          $(".modal-body").html(retorno);
    }).fail(function(retorno){
         //aqui mostra um alert quando for mal sucedido no caso se não conectar ao banco
         alert(retorno);
    });

});

O arquivo PHP que no exemplo chamei de arquivo.php  vai receber assim:

$idade = $_POST["idade"];
$id = $_POST["id"];


$servername = "localhost";
$database = "vrp";
$username = "root";
$password = "";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $database);


//Testamos a idade antes de tudo:

if($idade != 0 ):
   //atualiza a tabela no banco de dados
   $atualiza = mysqli_query($conn, "UPDATE vrp_users SET whitelisted = 1");

  //aqui será a mensagem que vai mostrar no modal
   echo "Aprovado!";

else:
  echo "Reprovado!";

endif;

Basicamente, o bloco de IF testa o valor recebido pelo formulário. Se a $idade for diferente de zero, quer dizer que ele acertou, já que todas as outras opções são zero.

 

O echo que está dentro do IF, é o que será  mostrado dentro do modal, através do parâmetro "retorno".

 

A variável $atualiza, seria para atualizar a tabela no seu banco, onde o whitelisted é zero, passa a ser 1

 

Não sei se era isso que você tem em mente... mas se a ideia for um quis. é imprescindível que  você crie uma tabela de perguntas e respostas relacionadas, e depois gera uma outra de N:N para que possa relacionar todas as respostas e perguntas

 

 

  • Amei 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Mostrar mais  

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

Mostrar mais  
×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!