PHP and HTML5 higher value between 2 form fields

Asked

Viewed 105 times

-3

How to calculate values of 2 form fields before they are saved in the database and how to save this form? (All on the same page)

<!DOCTYPE html>
<html>
<?php
include = ("bd.php"); //Conectando com o MySQL
?>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <title>Registro de resultado dos jogos</title>

    <link type="text/css" rel="stylesheet" media="screen" href="estilos.css" />
</head>
<body>
    <div id="site"> 
        <form method="post" id="insere_jgfeito" align="center" enctype="multipart/form-data"> <!-- ÍNICIO DO USUÁRIO PREENCHENDO FORMULÁRIO -->

            <td>
            <tr>
                <span><strong>Inserir Resultados<strong></span>
            </br>
            </tr>

            <tr>
            <td>
<select required name="campeonato"/>
    <option value="" disabled="disabled" selected="selected">Campeonato</option>
    <?php
        $cst_campeonato = mysql_query("SELECT `id`, `campeonato` FROM `tbl_campeonatos` WHERE `status` = 1 ORDER BY `id` ASC");
            while($campeonatos = mysql_fetch_array($cst_campeonato)){ ?>
    <option value="<?php echo $campeonatos["id"];?>"><tr><?php echo $campeonatos["campeonato"];?></tr></option>
    <?php } ?>
<select>            </td></br>
            <td>
            <label for="data-atual">Realizado em...</label>
            <input type="date" name="data-atual" id="data-atual" value="<?=date('d/m/Y')?>" required>
            </td>
            </tr>
            </td></br>
            <tr>
            <td>
            <select required name="mandante"/>
                <option value="" disabled="disabled" selected="selected">Mandante</option>
                <?php
                    $cst_competidor = mysql_query("SELECT `tbl_jogadores`.`tecnico` AS tecnico, `tbl_competidor`.`nome` AS nome FROM `tbl_competidor` INNER JOIN `tbl_jogadores` ON `tbl_competidor`.`id_competidor` = `tbl_jogadores`.`tecnico` WHERE `tbl_competidor`.`status` = 1 GROUP BY `tbl_jogadores`.`tecnico` ORDER BY `tbl_competidor`.`nome` ASC");
                    while($tecnicos = mysql_fetch_array($cst_competidor)){ ?>
                <option value="<?php echo $tecnicos["tecnico"];?>"><tr><?php echo $tecnicos["nome"];?></tr></option>
                <?php } ?>
            <select>
            <input type="number" min="0" max="9" name="mscore" required="required">
            </td>
            <td>
            <input type="number" min="0" max="9" name="vscore" required="required">
            <select required name="visitante"/>
                <option value="" disabled="disabled" selected="selected">Visitante</option>
                <?php
                    $cst_competidor = mysql_query("SELECT `tbl_jogadores`.`tecnico` AS tecnico, `tbl_competidor`.`nome` AS nome FROM `tbl_competidor` INNER JOIN `tbl_jogadores` ON `tbl_competidor`.`id_competidor` = `tbl_jogadores`.`tecnico` WHERE `tbl_competidor`.`status` = 1 GROUP BY `tbl_jogadores`.`tecnico` ORDER BY `tbl_competidor`.`nome` ASC");
                    while($tecnicos = mysql_fetch_array($cst_competidor)){ ?>
                <option value="<?php echo $tecnicos["tecnico"];?>"><tr><?php echo $tecnicos["nome"];?></tr></option>
                <?php } ?>
            <select>
            </td>
            </tr>   
            <input type="hidden" value="?" name="tipo"/>
            <input type="hidden" value="?" name="resultado"/>
            <input type="hidden" value="1" name="status"/>
            <input type="hidden" name="acao" value="enviado" />
            <button type="submit">Gravar</button>
        </form> <!-- FIM DO FORMULÁRIO -->
    </div>
<?php 
/* RECEBENDO OS DADOS PREENCHIDOS DO FORMULÁRIO!
OBS: Para fins didáticos, todas as variavés utilizarão o prefixo "rcb_" referente a "recebe valor de" */

$rcb_campeonato = $_POST ["campeonato"];    // Captura o (select) com nome: "campeonato" referente ao "id_campeonato"
$rcb_data_atual = $_POST ["data-atual"];    // Traz (input date) com nome: "data-atual" 
$rcb_mandante   = $_POST ["mandante"];      // Captura o participante de nome: "mandante"
$rcb_mscore = $_POST ["mscore"];            // Recebe número entre 0 e 9 de: "mscore"
$rcb_vscore = $_POST ["vscore"];            // Recebe número entre 0 e 9 de: "vscore"
$rcb_visitante  = $_POST ["visitante"];     // Captura o participante de nome: "mandante"
$rcb_tipo   = $_POST ["tipo"];              // Campo oculto de valores 0=Empate, 1=Vitória do mandante ou 2=Visitante
$rcb_resultado = $_POST ["resultado"];      // Deve gravar o ID vencedor (mandante ou visitante) 
$rcb_status = $_POST ["status"];            // Se tudo estiver OK, grava sempre o campo com valor 1.


//Como gravar esses dados no banco de dados?


//Como referenciar a tabela do banco de dados?


$query = "INSERT INTO `tbl_jogos` ( `Null` , `id_campeonato`, `dt_partida` , `mandante` , `visitante` , `mscore` , `vscore` , `tipo` , `resultado`, `status`) 
VALUES ('$rcb_campeonato', '$rcb_data_atual', '$rcb_mandante', '$rcb_visitante', '$rcb_mscore', '$rcb_vscore', '$rcb_tipo', '$rcb_resultado', '$rcb_status')";

echo "Seu resultado foi gravado com sucesso!";
?>
</body>
</html>
  • Welcome Silvio Sampaio, be sure to mark how you accept any answer that will solve your problem. See how in https://i.stack.Imgur.com/evLUR.png and why in https://pt.meta.stackoverflow.com/questions/1078/como-e-por-que-aceitar-uma-resposta/1079#1079

  • I reverted your question to the initial version. If you have other questions, ask new questions. Remember to read the [Ask] guide before anything.

1 answer

-2


You can use javascript

<script>
 const mscore = document.querySelector('[name="mscore"]');
 const vscore = document.querySelector('[name="vscore"]');
 const hidden = document.querySelector('[name="resultado"]');

 const eventKeyup = () => {
     const mscoreVlr = parseInt(mscore.value);
     const  vscoreVlr = parseInt(vscore.value);
     if(mscoreVlr === vscoreVlr){
          //faça qualquer coisa
     }else{
         const maiorValor =   mscoreVlr > vscoreVlr 
                            ? mscore.value 
                            : vscore.value ;

        hidden.valeu = maiorValor;
    }


 };

mscore.addEventListener('keyup',eventKeyup);
vscore.addEventListener('keyup',eventKeyup);



</script>
  • Did you notice the script I was inserting in the attempt to query when the values were equal? What would characterize the tie. How to send the javascript value to the Hidden ID of a form?

  • I changed the script to add the result to the Hidden input, if it has the same value you can do anything

Browser other questions tagged

You are not signed in. Login or sign up in order to post.