Jump to content
Fórum Script Brasil
  • 0

Relacionamento sql pdo em PHP


Question

Boa tarde!
Gostaria muito da ajuda de algum colega para tentar resolver mais problema na implementação do script de código PHP.
Num sistema que estou desenvolvendo criei um painel-adm-escolar para gerenciar as várias rotinas da gestão de escolas.  Quero com isso fazer com que a cada secretário cadastrado numa escola, este seja visível somente no painel desta escola, assim como os demais que forem sendo cadastrados em outras escolas. Mas estou enfrentando dificuldades para fazer isso. Criei as tabelas 'escolas' e 'secretarios'. Quando entro com o usuario de uma determinada escola que cadastrei e faço a inserção de secretários para esta escola, beleza, fica registrado. Mas quando entro com outro usuário de uma outra escola, os mesmos secretários da escola anterior aparece para esta escola.
Veja abaixo partes do script que usei.
Se você puder me ajudar, peço que me oriente quanto à alteração no código.

<?php
$pag = "secretarios";
require_once("../conexao.php");

@session_start();
    //verificar se o usuário está autenticado
if(@$_SESSION['id_usuario'] == null || @$_SESSION['nivel_usuario'] != 'escolar'){
    echo "<script language='javascript'> window.location='../index.php' </script>";

}


?>

<div class="row mt-4 mb-4">
    <a type="button" class="btn-info btn-sm ml-3 d-none d-md-block" href="index.php?pag=<?php echo $pag ?>&funcao=novo">Novo Secretário</a>
    <a type="button" class="btn-info btn-sm ml-3 d-block d-sm-none" href="index.php?pag=<?php echo $pag ?>&funcao=novo">+</a>
    
</div>

 

<!-- DataTales Example -->
<div class="card shadow mb-4">

    <div class="card-body">
        <div class="table-responsive">
            <table class="table table-bordered" id="dataTable" width="100%" cellspacing="0">
                <thead>
                    <tr>
                        <th>Nome do(a) Secretário(a)</th>
                        <th>Email</th>
                        <th>Escola/ Local de Trabalho</th>
                        <th>Foto</th>
                        <th>Ações</th>
                    </tr>
                </thead>

                <tbody>

                 <?php
                 
                 $query = $pdo->query("SELECT * FROM secretarios order by id desc ");
                 $res = $query->fetchAll(PDO::FETCH_ASSOC);

                 for ($i=0; $i < count($res); $i++) {
                  foreach ($res[$i] as $key => $value) {
                  }

                    $nome = $res[$i]['nome'];
                    $cpf = $res[$i]['cpf'];
                    $telefone = $res[$i]['telefone'];
                    $email = $res[$i]['email'];
                    $endereco = $res[$i]['endereco'];
                    $nome_escola = $res[$i]['nome_escola'];
                    $foto = $res[$i]['foto'];
                    $id = $res[$i]['id'];

                  //RECUPERAR NOME DA ESCOLA
                    $query_r = $pdo->query("SELECT * FROM escolas where id =  '$nome_escola'");
                    $res_r = $query_r->fetchAll(PDO::FETCH_ASSOC);
                    $nome_esc = $res_r[0]['nome'];


                  ?>


                  <tr>
                    <td><?php echo $nome ?></td>
                    <td><?php echo $email ?></td>
                    <td><?php echo $nome_esc ?></td>
                    <!--Instrução PHP que exibe uma imagem ao campo foto-->
                        <td><img src="../img/secretarios/<?php echo $foto ?>" width="50"></td>


                    <td>
                       <a href="index.php?pag=<?php echo $pag ?>&funcao=editar&idsecret=<?php echo $id ?>" class='text-primary mr-1' title='Editar Dados'><i class='far fa-edit'></i></a>
                       <a href="index.php?pag=<?php echo $pag ?>&funcao=excluir&idsecret=<?php echo $id ?>" class='text-danger mr-1' title='Excluir Registro'><i class='far fa-trash-alt'></i></a>

                        <a href="index.php?pag=<?php echo $pag ?>&funcao=endereco&idsecret=<?php echo $id ?>" class='text-info mr-1' title='Ver Endereço'><i class='fas fa-home'></i></a>
                   </td>
               </tr>
           <?php } ?>

 

 

       </tbody>
   </table>
</div>
</div>
</div>

 

 

<!-- Modal -->
<div class="modal fade" id="modalDados" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <?php
                if (@$_GET['funcao'] == 'editar') {
                    $titulo = "Editar Registro";
                    $id2 = $_GET['idsecret'];

                    $query = $pdo->query("SELECT * FROM secretarios where id = '" . $id2 . "' ");
                    $res = $query->fetchAll(PDO::FETCH_ASSOC);

                    $nome2 = $res[0]['nome'];
                    $cpf2 = $res[0]['cpf'];
                    $telefone2 = $res[0]['telefone'];
                    $email2 = $res[0]['email'];
                    $endereco2 = $res[0]['endereco'];
                    $nome_escola2 = $res[0]['nome_escola'];
                    $foto2 = $res[0]['foto'];

 

                } else {
                    $titulo = "Inserir Registro";

                }


                ?>
                
                <h5 class="modal-title" id="exampleModalLabel"><?php echo $titulo ?></h5>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
            </div>
            <form id="form" method="POST">
                <div class="modal-body">

                    <div class="form-group">
                        <label >Nome</label>
                        <input value="<?php echo @$nome2 ?>" type="text" class="form-control" id="nome" name="nome" placeholder="Nome">
                    </div>

                     <div class="form-group">
                        <label >CPF</label>
                        <input value="<?php echo @$cpf2 ?>" type="text" class="form-control" id="cpf" name="cpf" placeholder="CPF">
                    </div>

                     <div class="form-group">
                        <label >Telefone</label>
                        <input value="<?php echo @$telefone2 ?>" type="text" class="form-control" id="telefone" name="telefone" placeholder="Telefone">
                    </div>

                     <div class="form-group">
                        <label >Email</label>
                        <input value="<?php echo @$email2 ?>" type="text" class="form-control" id="email" name="email" placeholder="Email">
                    </div>

                    <div class="form-group">
                        <label >Nome da Escola</label>
                       <select name="nome_escola" class="form-control" id="nome_escola">

                                <?php

                                $query = $pdo->query("SELECT * FROM escolas order by nome asc ");
                                $res = $query->fetchAll(PDO::FETCH_ASSOC);

                                for ($i=0; $i < @count($res); $i++) {
                                    foreach ($res[$i] as $key => $value) {
                                    }
                                    $nome_reg = $res[$i]['nome'];
                                    $id_reg = $res[$i]['id'];
                                    ?>                                  
                                    <option <?php if(@$nome_escola2 == $id_reg){ ?> selected <?php } ?> value="<?php echo $id_reg ?>"><?php echo $nome_reg ?></option>
                                <?php } ?>

                            </select>
                    </div>

                     <div class="form-group">
                        <label >Endereço</label>
                        <input value="<?php echo @$endereco2 ?>" type="text" class="form-control" id="endereco" name="endereco" placeholder="Endereço">
                    </div>

                    <div class="col-md-5">
                    <div class="form-group">
                        <label >Imagem</label>
                        <input type="file" value="<?php echo @$foto2 ?>"  class="form-control-file" id="imagem" name="imagem" onChange="carregarImg();">
                    </div>

                    <div id="divImgConta">
                        <?php if(@$foto2 != ""){ ?>
                            <img src="../img/secretarios/<?php echo $foto2 ?>" width="200" height="200" id="target">
                        <?php  }else{ ?>
                            <img src="../img/secretarios/sem-foto.jpg" width="200" height="200" id="target">
                        <?php } ?>
                    </div>
                </div>
                    

 


                    <small>
                        <div id="mensagem">

                        </div>
                    </small>

                </div>

 

                <div class="modal-footer">

 

                    <input value="<?php echo @$_GET['idsecret'] ?>" type="hidden" name="txtidsecret" id="txtidsecret">
                    <input value="<?php echo @$cpf2 ?>" type="hidden" name="antigo" id="antigo">
                    <input value="<?php echo @$email2 ?>" type="hidden" name="antigo2" id="antigo2">

                    <button type="button" id="btn-fechar" class="btn btn-secondary" data-dismiss="modal">Cancelar</button>
                    <button type="submit" name="btn-salvar" id="btn-salvar" class="btn btn-primary">Salvar</button>
                </div>
            </form>
        </div>
    </div>
</div>

 

 


<div class="modal" id="modal-deletar" tabindex="-1" role="dialog">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title">Excluir Registro</h5>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
            </div>
            <div class="modal-body">

                <p>Deseja realmente Excluir este Registro?</p>

                <div align="center" id="mensagem_excluir" class="">

                </div>

            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-secondary" data-dismiss="modal" id="btn-cancelar-excluir">Cancelar</button>
                <form method="post">

                    <input type="hidden" id="id"  name="id" value="<?php echo @$_GET['idsecret'] ?>" required>

                    <button type="button" id="btn-deletar" name="btn-deletar" class="btn btn-danger">Excluir</button>
                </form>
            </div>
        </div>
    </div>
</div>

 

 


<div class="modal" id="modal-endereco" tabindex="-1" role="dialog">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title">Dados do Secretário</h5>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
            </div>
            <div class="modal-body">

                <?php
                if (@$_GET['funcao'] == 'endereco') {
                    
                    $id2 = $_GET['idsecret'];

                    $query = $pdo->query("SELECT * FROM secretarios where id = '$id2' ");
                    $res = $query->fetchAll(PDO::FETCH_ASSOC);
                    $nome3 = $res[0]['nome'];
                    $cpf3 = $res[0]['cpf'];
                    $telefone3 = $res[0]['telefone'];
                    $email3 = $res[0]['email'];
                    $endereco3 = $res[0]['endereco'];
                    $nome_escola3 = $res[0]['nome_escola'];
                    $foto3 = $res[0]['foto'];
                    

                    //RECUPERAR NOME DA ESCOLA
                    $query_r = $pdo->query("SELECT * FROM escolas where id =  '$nome_escola3'");
                    $res_r = $query_r->fetchAll(PDO::FETCH_ASSOC);
                    $nome_esc3 = $res_r[0]['nome'];

                }


                ?>

                <span><b>Nome: </b> <i><?php echo $nome3 ?></i><br>
                <span><b>CPF: </b> <i><?php echo $cpf3 ?></i> <span class="ml-4"><b>Telefone: </b> <i><?php echo $telefone3 ?></i><br>
                <span><b>Email: </b> <i><?php echo $email3 ?><br>
                <span><b>Endereço: </b> <i><?php echo $endereco3 ?><br>
                <span><b>Nome da Escola: </b> <i><?php echo $nome_esc3 ?><br>
                <span><b>Endereço: </b> <i><?php echo $endereco3 ?><br>

                <div class="mt-2" align="center">
                    <img src="../img/secretarios/<?php echo $foto3 ?>" width="250px">
                </div>

            </div>
            
        </div>
    </div>
</div>

 


<?php

if (@$_GET["funcao"] != null && @$_GET["funcao"] == "novo") {
    echo "<script>$('#modalDados').modal('show');</script>";
}

if (@$_GET["funcao"] != null && @$_GET["funcao"] == "editar") {
    echo "<script>$('#modalDados').modal('show');</script>";
}

if (@$_GET["funcao"] != null && @$_GET["funcao"] == "excluir") {
    echo "<script>$('#modal-deletar').modal('show');</script>";
}

if (@$_GET["funcao"] != null && @$_GET["funcao"] == "endereco") {
    echo "<script>$('#modal-endereco').modal('show');</script>";
}

?>

 


<!--AJAX PARA INSERÇÃO E EDIÇÃO DOS DADOS COM IMAGEM -->
<script type="text/javascript">
    $("#form").submit(function () {
        var pag = "<?=$pag?>";
        event.preventDefault();
        var formData = new FormData(this);

        $.ajax({
            url: pag + "/inserir.php",
            type: 'POST',
            data: formData,

            success: function (mensagem) {

                $('#mensagem').removeClass()

                if (mensagem.trim() == "Salvo com Sucesso!") {

                    //$('#nome').val('');
                    //$('#cpf').val('');
                    $('#btn-fechar').click();
                    window.location = "index.php?pag="+pag;

                } else {

                    $('#mensagem').addClass('text-danger')
                }

                $('#mensagem').text(mensagem)

            },

            cache: false,
            contentType: false,
            processData: false,
            xhr: function () {  // Custom XMLHttpRequest
                var myXhr = $.ajaxSettings.xhr();
                if (myXhr.upload) { // Avalia se tem suporte a propriedade upload
                    myXhr.upload.addEventListener('progress', function () {
                        /* faz alguma coisa durante o progresso do upload */
                    }, false);
                }
                return myXhr;
            }
        });
    });
</script>

 

 

<!--AJAX PARA EXCLUSÃO DOS DADOS -->
<script type="text/javascript">
    $(document).ready(function () {
        var pag = "<?=$pag?>";
        $('#btn-deletar').click(function (event) {
            event.preventDefault();

            $.ajax({
                url: pag + "/excluir.php",
                method: "post",
                data: $('form').serialize(),
                dataType: "text",
                success: function (mensagem) {

                    if (mensagem.trim() === 'Excluído com Sucesso!') {


                        $('#btn-cancelar-excluir').click();
                        window.location = "index.php?pag=" + pag;
                    }

                    $('#mensagem_excluir').text(mensagem)

 

                },

            })
        })
    })
</script>

 

<!--SCRIPT PARA CARREGAR IMAGEM -->
<script type="text/javascript">

    function carregarImg() {

        var target = document.getElementById('target');
        var file = document.querySelector("input[type=file]").files[0];
        var reader = new FileReader();

        reader.onloadend = function () {
            target.src = reader.result;
        };

        if (file) {
            reader.readAsDataURL(file);


        } else {
            target.src = "";
        }
    }

</script>

 

 

<script type="text/javascript">
    $(document).ready(function () {
        $('#dataTable').dataTable({
            "ordering": false
        })

    });
</script>

 

 

img-painel02.PNG

Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      148955
    • Total Posts
      645010
×
×
  • Create New...