Jump to content
MecchaSonic

Gerenciamento de Armários

Recommended Posts

A ideia é que quando selecionarmos a opção de "Pendente"/"Pago" a cor mude automaticamente,mas não estou conseguindo fazer isso. 

 

<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet"
  href="http://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css">
<link rel="stylesheet"
  href="http://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap-theme.min.css">
<script type="text/javascript"
  src="http://code.jquery.com/jquery.min.js"></script>
<script
  src="http://netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
 <title> Easy Lockers </title>
<style type="text/css">
html, body {
    height: 100%; width:100%;
}

    body {
    overflow: hidden; 
    background-color: #b8b9ba; 
    margin: 0px; 
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}

.espaco {
    width: 1%;
    float: left;
    background-color: #b8b9ba;
}

.container-menu {
    overflow: hidden;
    width: 15%;
    height: 97%;    
    float: left;
    border: 3px solid #8f9599;
    border-radius: 10px;
    background-color: #8f9599;
    text-align: xcenter;
}

.grid-container {
    display: grid;
    height: 97%;
    grid-template-columns: auto auto auto auto auto auto auto auto auto auto ;
    grid-gap: 10px;
    border-radius:10px;
    background-color: #8f9599;
    padding: 9px;
    width: 82%;
}

.grid-container > div {
    height:100%;
    border: 2px solid #0d2f4c;
    border-radius: 10px;  
    background-color: rgba(255, 255, 255, 0.8);
    text-align:center;
    font-size: 30px;
}

.btn-menu {
    color: #fff;
    background-color: #286090;
    border:1px solid #0d2f4c;
    border-radius:10px;
    display:inline-block;
    width: 85%;
    height 20px;
    cursor:pointer;
    font-size:20px;
    padding:8px 25px;

}

.btn-menu:hover {
    color: #fff;
    background-color: #0f4d82;
    border-color: #204d74;
}

.btn-grade {
    color: #fff;
    border:1px solid #0d2f4c;
    border-radius:8px;
    width: 100%;
    height:100%;
    cursor:pointer;
    font-size:20px;
    padding:8px 25px;
    background-color: #286090;


}

.btn-grade:hover {
    color: #fff;
    background-color: #0f4d82;
    border-color: #204d74;
}

.btn-grade2 {
    color: #fff;
    border:1px solid #0d2f4c;
    border-radius:8px;
    width: 100%;
    height:100%;
    cursor:pointer;
    font-size:20px;
    padding:8px 25px;
    background-color: #286090;


}

.btn-grade2:hover {
    color: #fff;
    background-color: #0f4d82;
    border-color: #204d74;
}


.fechar{
    text-decoration:none;
}
    #btn{
        width: 100px;
        padding: 10px;
        border: 1px solid black;
        background-color: green;
        color: white;
        top: 40%;
        left: 13%;
    }
    #btn:active{
        box-shadow: none;
        outline: none;
        transform: scale(0.9);
    }
</style>
</head>
<body>
<div class = "container-menu">
    <h3><img src="logoetec.png"/><h3>
    <img width="100%" src="easylockers.png"/>
    <br>
    <br>
    <br>
    <input type="button" class="btn-menu" value="Bloco 1"  onclick="location. href= 'Bloco A.html'">
    <input type="button" class="btn-menu" value="Bloco 2"  onclick="location. href= 'Bloco B.html'">
    <input type="button" class="btn-menu" value="Bloco 3"  onclick="location. href= 'Bloco C.html'">
    <input type="button" class="btn-menu" value="Bloco 4"  onclick="location. href= 'Bloco D.html'">
</div>
<div class ="espaco">
 <h3></h3>
</div>
<div class="grid-container">
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="001" id="1"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade2" value="002" id="2"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="003" id="3"></div>  
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="004" id="4"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="005" id="5"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="006" id="6"></div>  
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="007" id="7"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="008" id="8"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="009" id="9"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="010" id="10"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="011" id="11"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="012" id="12"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="013" id="13"></div>  
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="014" id="14"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="015" id="15"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="016" id="16"></div>  
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="017" id="17"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="018" id="18"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="019" id="19"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="020" id="20"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="021" id="21"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="022" id="22"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="023" id="23"></div>  
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="024" id="24"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="025" id="25"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="026" id="26"></div>  
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="027" id="27"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="028" id="28"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="029" id="29"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="030" id="30"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="031" id="31"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="032" id="32"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="033" id="33"></div>  
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="034" id="34"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="035" id="35"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="036" id="36"></div>  
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="037" id="37"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="038" id="38"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="039" id="39"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="040" id="40"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="041" id="41"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="042" id="42"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="043" id="43"></div>  
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="044" id="44"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="045" id="45"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="046" id="46"></div>  
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="047" id="47"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="048" id="48"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="049" id="49"></div>
    <div><input type="button" href="#myModal" data-toggle="modal" class="btn-grade" value="050" id="50"></div>

    <div class="modal fade" id="myModal" role="dialog">
        <button type="button" class="close" data-dismiss="modal">&times;</button>
                        <form role="form">
                    <div class="form-group">
                        <label for="Nome"><h4>Nome</h4></label>
                        <input type="text" class="form-control" id="Nome" placeholder="">
                    </div>
                    
                    <div class="form-group">
                        <label for="Nome"><h4>RM</h4></label>
                        <input type="text" class="form-control" id="RM" placeholder="">
                    </div>
                    
                    <div class="form-group">
                        <label for="psw"> <h4>Turma</h4></label>
                        <input type="text" class="form-control" id="Turma" placeholder="">
                    </div>
            
                    <div class="form-group">
                        <label for="psw"><h4> Telefone </h4></label>
                        <input type="text" class="form-control" id="Telefone" placeholder="">
                    </div>
                    
                    <div class="form-group">
                        <label for="psw"><h4> Email </h4></label>
                        <input type="text" class="form-control" id="Email" placeholder="">
                    </div>
                    
                    <div class="form-group">
                        <label for="psw"><h4> Data de locação </h4></label>
                        <input type="text" class="form-control" id="Data de locação" placeholder="">
                    </div>
            
                
                    <label for="pago">Pago</label>
                    <input type="checkbox" name="" id="pago"><br>

                    <label for="pendente">Pendente</label>
                    <input type="checkbox" name="" id="pen"><br>

                    <label for="desocupado">Desocupado</label>
                    <input type="checkbox" name="" id="des"><br><br><br><br><br><br>
                    
                    <button id="btn" onclick="sla()">Salvar</button>
                
</form>
    </div>
    </div>
        <div class="modal fade" id="myModal2" role="dialog">
        <button type="button" class="close" data-dismiss="modal">&times;</button>
                        <form role="form">
                    <div class="form-group">
                        <label for="Nome"><h4>Nome</h4></label>
                        <input type="text" class="form-control" id="Nome" placeholder="">
                    </div>
                    
                    <div class="form-group">
                        <label for="Nome"><h4>RM</h4></label>
                        <input type="text" class="form-control" id="RM" placeholder="">
                    </div>
                    
                    <div class="form-group">
                        <label for="psw"> <h4>Turma</h4></label>
                        <input type="text" class="form-control" id="Turma" placeholder="">
                    </div>
            
                    <div class="form-group">
                        <label for="psw"><h4> Telefone </h4></label>
                        <input type="text" class="form-control" id="Telefone" placeholder="">
                    </div>
                    
                    <div class="form-group">
                        <label for="psw"><h4> Email </h4></label>
                        <input type="text" class="form-control" id="Email" placeholder="">
                    </div>
                    
                    <div class="form-group">
                        <label for="psw"><h4> Data de locação </h4></label>
                        <input type="text" class="form-control" id="Data de locação" placeholder="">
                    </div>
            
                
                    <label for="pago">Pago</label>
                    <input type="checkbox" name="" id="pago"><br>

                    <label for="pendente">Pendente</label>
                    <input type="checkbox" name="" id="pen"><br>

                    <label for="desocupado">Desocupado</label>
                    <input type="checkbox" name="" id="des"><br><br><br><br><br><br>
                    
                    <button id="btn2" onclick="sla2()">Salvar</button>
                
</form>
    </div>
    </div>
        <script type="text/javascript">
        function sla2(){
            botao = document.getElementById("2");
            pago = document.getElementById("pago");
            pendente = document.getElementById("pen");
            desocupado= document.getElementById("des");
            if(pago.checked == true){
                botao.style.backgroundColor = "#7dc67b";
            }
            if(pendente.checked == true){
                botao.style.backgroundColor = "#ba4141";
            }
            if(desocupado.checked == true){
                botao.style.backgroundColor = "#286090";
            }
        }

    </script>
    <script type="text/javascript">
        function sla(){
            botao = document.getElementById("1");
            pago = document.getElementById("pago");
            pendente = document.getElementById("pen");
            desocupado= document.getElementById("des");
            if(pago.checked == true){
                botao.style.backgroundColor = "#7dc67b";
            }
            if(pendente.checked == true){
                botao.style.backgroundColor = "#ba4141";
            }
            if(desocupado.checked == true){
                botao.style.backgroundColor = "#286090";
            }
        }

    </script>

    <script type="text/javascript">
        document.getElementById("btn").addEventListener("click", function(event){
    event.preventDefault();
});
    </script>
    <script type="text/javascript">
        document.getElementById("btn2").addEventListener("click", function(event){
    event.preventDefault();
});
    </script>
</body>
</html>

Share this post


Link to post
Share on other sites

Olá!
Veja se isso te ajuda:
 

<!doctype html>
<html lang="pt-br">
<head>
    <meta charset="utf-8">
    <title> Easy Lockers </title>
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
    <style type="text/css">
        * {
            box-sizing: border-box;
        }

        html, body {
            height: 100%;
            width: 100%;
            margin: 0;
            padding: 0;
        }

        body {
            background-color: #e7eaed;
            margin: 0px;
            display: flex;
            flex-direction: row;
            justify-content: center;
            align-items: center;
            min-width: 600px;
        }

        .espaco {
            width: 1%;
            float: left;
            background-color: #b8b9ba;
        }

        .container-menu {
            overflow: hidden;
            width: 15%;
            height: 97%;
            float: left;
            border: 3px solid #8f9599;
            border-radius: 10px;
            background-color: #fff;
            text-align: center;
        }

        .grid-container {
            display: grid;
            height: 97%;
            grid-template-columns: auto auto auto auto auto;
            grid-gap: 10px;
            border-radius: 10px;
            background-color: #fff;
            padding: 9px;
            width: 82.4%;
        }

        .grid-container a {
            font-size: 20px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .grid-container a.pago {
            background-color: #7dc67b;
            background-color: #ba4141;
            background-color: #286090;
        }

        .btn-menu {
            color: #fff;
            background-color: #286090;
            border: 1px solid #0d2f4c;
            border-radius: 10px;
            display: inline-block;
            width: 85%;
            height 20px;
            cursor: pointer;
            font-size: 20px;
            padding: 8px 25px;

        }

        .btn-menu:hover {
            color: #fff;
            background-color: #0f4d82;
            border-color: #204d74;
        }
    </style>
</head>
<body>
<div class="container-menu">
    <h3><img src="logoetec.png"/></h3>
    <img width="100%" src="easylockers.png"/>
    <br>
    <br>
    <br>
    <input type="button" class="btn-menu" value="Bloco 1" onclick="location. href= 'Bloco-A.html'">
    <input type="button" class="btn-menu" value="Bloco 2" onclick="location. href= 'Bloco-B.html'">
    <input type="button" class="btn-menu" value="Bloco 3" onclick="location. href= 'Bloco-C.html'">
    <input type="button" class="btn-menu" value="Bloco 4" onclick="location. href= './'">
</div>
<div class="espaco"></div>
<div class="grid-container"></div>
<!--    MODAL    -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog">
    <div class="modal-dialog modal-lg" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h4 class="modal-title">Armário <span></span></h4>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
            </div>
            <form role="form" class="modal-form">
                <input type="hidden" name="element-id" value="">
                <div class="modal-body">
                    <div class="row">
                        <div class="col-12 form-group">
                            <label for="Nome">Nome</label>
                            <input type="text" class="form-control" id="Nome" name="nome">
                        </div>
                        <div class="col-sm-6 form-group">
                            <label for="RM">RM</label>
                            <input type="text" class="form-control" id="RM" name="rm">
                        </div>

                        <div class="col-sm-6 form-group">
                            <label for="Turma">Turma</label>
                            <input type="text" class="form-control" id="Turma" name="turma">
                        </div>

                        <div class="col-sm-6 form-group">
                            <label for="Telefone"> Telefone </label>
                            <input type="text" class="form-control" id="Telefone" name="telefone">
                        </div>

                        <div class="col-sm-6 form-group">
                            <label for="Email"> Email </label>
                            <input type="email" class="form-control" id="Email" name="email">
                        </div>

                        <div class="col-sm-6 form-group">
                            <label for="Data de locação"> Data de locação </label>
                            <input type="date" class="form-control" id="Data de locação" name="data-de-locacao">
                        </div>

                        <div class="col-12">
                            <label>Status</label>
                            <div class="custom-control custom-radio">
                                <input id="Pago" type="radio" class="custom-control-input" name="status" value="1">
                                <label class="custom-control-label" for="Pago">Pago</label>
                            </div>
                            <div class="custom-control custom-radio">
                                <input id="Pendente" type="radio" class="custom-control-input" name="status" value="2">
                                <label class="custom-control-label" for="Pendente">Pendente</label>
                            </div>
                            <div class="custom-control custom-radio">
                                <input id="Desocupado" type="radio" class="custom-control-input" name="status" value="0" checked>
                                <label class="custom-control-label" for="Desocupado">Desocupado</label>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
                    <button type="submit" class="btn btn-primary">Salvar</button>
                </div>
            </form>
        </div>
    </div>
</div>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
<script type="text/javascript">
    $(document).ready(function () {

        // define dados gerais dos armários
        var armarios = {
            'quantidade': 50
        };

        // cria os clicable buttons dos armários
        var clicable_buttons = '';
        for (i = 1; i <= armarios.quantidade; i++) {
            clicable_buttons += '<a href="#myModal" data-toggle="modal" id="element-' + i + '" class="btn btn-primary">' + (i).pad(3) + '</a>';
        }
        $('.grid-container').html(clicable_buttons);

        // quando uma modal for 'chamada'
        $('#myModal').on('show.bs.modal', function (event) {
            var element = $(event.relatedTarget) // element that triggered the modal
            var armario_number = element.html();

            var modal = $(this);

            modal.find('.modal-title').text('Armário Nº ' + armario_number);
            modal.find('input[name="element-id"]').val(element.prop('id'));

        });

        var clicable_status = {
            "0": 'primary',
            "1": 'success',
            "2": 'danger',
        }
        // quando o formulário modal for submetido
        $('.modal-form').submit(function (e) {
            e.preventDefault();
            // coloca os dados do form num array
            var data = $(this).serializeArray();
            // troca o estilo do clicable element
            $('#' + data[0].value).removeAttr('class').addClass('btn btn-' + clicable_status[data[7].value]);
            // esconde a modal
            $('#myModal').modal('hide');
            // reseta o modal-form
            $(this).trigger('reset');
        });

    });

    Number.prototype.pad = function (size) {
        var s = String(this);
        while (s.length < (size || 2)) {
            s = "0" + s;
        }
        return s;
    }
</script>
</body>
</html>

 

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 Northon Vinicios
      Faça uma função para inverter um valor numérico composto por centena, dezena e unidade. Por exemplo, se a entrada da função for 123, o retorno será 321.
      Faça uma função para calcular rendimentos. A função deve aceitar como entrada o valor a ser aplicado e o percentual de lucro.
       
      não estou conseguindo montar uma função para nenhuma das duas me ajudem...
       
    • By Northon Vinicios
      Faça uma função para inverter um valor numérico composto por centena, dezena e unidade. Por exemplo, se a entrada da função for 123, o retorno será 321.
      Faça uma função para calcular rendimentos. A função deve aceitar como entrada o valor a ser aplicado e o percentual de lucro.
       
      não estou conseguindo montar uma função para nenhuma das duas me ajudem...
       
    • By mateusjosepretti
      Preciso de uma ajuda para a construção de um sistema que separa a listagem das notas por matérias e faz o cálculo da média de cada matéria.
      Segue código de listagem de dados:
       
      <?PHP include("functions/limita-texto.php"); if(empty($_GET['pg'])){} else{ $pg =$_GET['pg']; if(!is_numeric($pg)){ echo '<script language= "JavaScript"> location.href="home.php?acao=vz-resultados_prof"; </script>'; } } if(isset($pg)){ $pg = $_GET['pg'];}else{ $pg = 1;} if(isset($_POST['palavra-busca'])){ $quantidade = 10000; }else{ $quantidade = 10000; } $inicio = ($pg*$quantidade) - $quantidade; if(isset($_POST['palavra-busca'])){ $busca = addslashes($_POST['palavra-busca']); $triAo = $_GET['tri']; $select = "SELECT * from al_resultados WHERE rm = '$rm' ORDER BY materia asc LIMIT $inicio, $quantidade"; }else{ $select = "SELECT * from al_resultados WHERE rm = '$rm' AND MD5(triProva) = '$triF' ORDER BY materia ASC LIMIT $inicio, $quantidade"; } $contagem =$inicio + 1; $Apr = "Aprovada"; $Rep = "Reprovado"; $Rec = "Recuperação"; try{ $result = $conexao->prepare($select); $result->execute(); $contar = $result->rowCount(); if($contar>0){ while($mostra = $result->FETCH(PDO::FETCH_OBJ)){ ?> <tr class="<?php if ($mostra->nota < '6.0'){ echo "danger text-danger"; }else{ echo "success text-success";}?>"> <td> <?php echo $contagem++;?> </td> <td> <?php $date = new DateTime($mostra->dataProva); echo $date->format('d/m/Y');?></td> <td> <?php echo $mostra->tipoProva;?> </td> <td> <?php echo $mostra->materia;?> </td> <td class="<?php if ($mostra->nota < '6.0'){ echo "nota-red"; }else{ echo "nota-blue";}?>"> <?php echo $mostra->nota;?> </td> <td> <?php if ($mostra->nota < '6.0'){ echo $Rec; }else{ echo $Apr;}?></td> </tr> <?php } }else{ echo '<div class="alert alert-danger"> <strong>Aviso!</strong> Não Existem Resultados em Seu Nome! </div>'; } }catch(PDOException $e){ echo $e; } ?> A ideia seria ficar como este:

       
      Mas hoje está assim:

    • By FerrariR
      Boa noite, galera, tudo tranquilo? 
      Sou novo na área de programação, e principalmente em Php/MySQL rsrs.
      Há alguns meses, me meti a fazer um sistema de chamadas para o Cursinho do qual sou coordenador. Ele funciona, mas venho tendo alguns problemas de performance e velocidade do registro dos dados no banco de dados, e se vocês pudessem me auxiliar a dar uma acelerada nisso eu ficaria muito grato.
      Antes de qualquer coisa, vou explicar por cima como funciona:
      Existe uma tabela principal, com o nome de chamadas, que guarda o registros de todas as chamadas realizadas no cursinho. Dentro dessa tabela, estão contidos o ID único de cada chamada, o horário, o professor que a realizou e sala. São quatro salas, e cada número (1, 2, 3 ou 4) no campo 'sala' da chamada faz que o sistema redirecione para a tabela de presenças da sala, onde cada sala tem uma tabela, para o registro das presenças dos alunos.
      Na tabela de presenças, em que cada sala tem uma, o sistema preenche cada linha com o ID da chamada, o RA do aluno e a presença (0 para falta e 1 para presença). Desse modo, nessa tabela, muitas linhas são inseridas por chamada realizada (por volta de 40 a 60 linhas, a depender da sala).
      Acontece que, quando testo com uma internet de qualidade, ou mesmo no meu localhost, a inserção desses resultados funciona muito bem, e não obtenho erro algum. Só que, na escola onde as chamadas são realizadas, a internet é apenas "navegável", e os professores têm tido alguns problemas de erros na página enquanto tentam realizar o procedimento.

      Dentro do script Php, as coisas funcionam mais ou menos assim: existe um IF que verifica, antes de tudo, se os dados da chamada conseguiram ser inseridos na tabela principal. Aí, caso a condição seja verdadeira, um laço while começa a inserção dos registros na tabela de presenças. E eu tenho tido alguns erros justamente nesse ponto... Em muitas chamadas realizadas na escola, o script chega a registrar a chamada na tabela principal mas não lança as presenças na outra tabela... E em outras vezes, registra os dados na tabela principal apenas de forma parcial, ou seja, preenche ID, data, e deixa o resto em branco, parando o processo todo ali... E tudo era para ser integrado, eu realmente não sei o que acontece. No meu raciocínio, primeiro o browser recolhia os dados e enviava ao servidor, e depois o servidor lançaria esses dados de uma vez, mas não parece que é isso que está acontecendo.

      Gostaria de saber se: é muito grave a lógica que eu utilizei? O laço while para inserir as presenças repete a query por aluno, ou seja, roda de 40 a 60 vezes executando uma query do MySql. Seria melhor eu unir essas presenças em um array e depois lançá-las com um query só na tabela de presenças?
      Mais uma coisa: haveria como assegurar que, se o MySql for inserir os dados na tabela principal, tem que necessariamente inserir as presenças na outra tabela? Ou seja, ou insere tudo ou insere nada... Meu maior problema não tem sido a impossibilidade de realizar essas chamadas em sala, já que os professores têm seus logins e senha e podem lançá-las para o sistema em casa, mas sim os erros que muitas vezes acontecem nas tentativas do processo e deformam o registro como foi citado acima...
       
      Bem, pessoal, eu espero que tenha ficado claro. Tô realmente engatinhando nessa área, e muitas vezes as soluções que tenho em mente, por mais que funcionem, não são as mais viáveis . Muito obrigado, e mais uma vez boa noite!
    • By luquinhasbrito
      Tem como transferir estes codigos para PDO ou MYSQLI, me ajudem galera por favor !
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link href="css/fazer_chamada.css" rel="stylesheet" type="text/css" /> </head> <body> <? require "topo.php"; ?> <div id="caixa_preta"> </div><!-- caixa_preta --> <div id="box"> <h1>Abaixo está mostrando todos os alunos do(a) <strong><? echo $curso = $_GET['curso']; ?></strong> Data de Hoje <strong><? echo date("d/m/Y"); ?></strong></h1> <? $date_hoje = date("d/m/Y"); $date = date("d/m/Y H:i:s"); $sql_1 = mysql_query("SELECT * FROM estudantes WHERE serie = '$curso'"); $conta_sql_1 = mysql_num_rows($sql_1); if($conta_sql_1 == ''){ echo "<h2>Não existe nenhum aluno cadastro nesta disciplina!</h2>"; }else{ while($res_1 = mysql_fetch_array($sql_1)){ $code_aluno = $res_1['code']; $nome = $res_1['nome']; ?> <form name="button" method="post" enctype="multipart/form-data" action=""> <table width="955" border="0"> <tr> <td width="94"><strong>Código:</strong></td> <td width="466"><strong>Nome:</strong></td> <td colspan="2"><strong>Este aluno está presente?</strong></td> </tr> <tr> <td><? echo $res_1['code']; ?><input type="hidden" name="code_aluno" value="<? echo $res_1['code']; ?>" /></td> <td><? echo $res_1['nome']; ?><input type="hidden" name="nome" value="<? echo $res_1['nome']; ?>" /></td> <td width="315"> <? $dis = $_GET['dis']; $sql_2 = mysql_query("SELECT * FROM chamadas_em_sala WHERE date_day = '$date_hoje' AND code_aluno = '$code_aluno' AND disciplina = '$dis'"); $conta_sql_2 = mysql_num_rows($sql_2); if($conta_sql_2 == ''){ ?> <input type="radio" name="presensa" id="radio" value="SIM"> <label for="radio">SIM <input type="radio" name="presensa" value="NÃO"> </label> NÃO <input type="radio" name="presensa" value="JUSTIFICADA"> FALTA JUSTIFICADA <label for="fileField"></label></td> <td width="62"><input type="submit" name="button" id="button" value="Guardar"></td> <? }else{ echo "Indisponível"; } ?> </tr> </table> </form> <? }} ?> <? if(isset($_POST['button'])){ $code_aluno = $_POST['code_aluno']; $nome = $_POST['nome']; $date_hoje = date("d/m/Y"); $date = date("d/m/Y H:i:s"); $dis = $_GET['dis']; $presensa = $_POST['presensa']; if($presensa == ''){ echo "<script language='javascript'>window.alert('Por favor, informe se este aluno está presente ou não na sala de aula!');</script>"; }else{ $sql_3 = mysql_query("SELECT * FROM confirma_entrada_de_alunos WHERE data_hoje = '$date_hoje' AND code_aluno = '$code_aluno'"); $conta_sql_3 = mysql_num_rows($sql_3); if($conta_sql_3 == '' && $presensa == 'SIM'){ echo "<script language='javascript'>window.alert('Este aluno não entrou na escola hoje!');</script>"; }else{ $sql_4 = mysql_query("INSERT INTO chamadas_em_sala (date, date_day, curso, disciplina, code_professor, code_aluno, presente) VALUES ('$date', '$date_hoje', '$curso', '$dis', '$code', '$code_aluno', '$presensa')"); echo "<script language='javascript'>window.location='';</script>"; }}}?> </div><!-- box --> <? require "rodape.php"; ?> </body> </html>  
×

Important Information

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