Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Pellegrini2106

Excluir registros diretamente num Modal na viewConsultar

Recommended Posts

Ola galera do Php!!!

Tenho uma Visão para consultar todos os funcionários trazidos pelo setor e queria excluir estes registros através de uma modal dentro desta mesma visão consultar, mas quando chamo o  método no controle responsável por  trazer estas informações e outro  método de exclusão não funcionam  . Como faço?


<?php

class Funcionario {

    private $id_func;
    private $id_setor;
    private $nomeF;
        
    public function getSetor() {
        return $this->setor;
    }

    public function setSetor($setor) {
        $this->setor = $setor;
    }

        
    public function getId_func() {
        return $this->id_func;
    }

    public function getId_setor() {
        return $this->id_setor;
    }

    public function getNomeF() {
        return $this->nomeF;
    }

    public function setId_func($id_func) {
        $this->id_func = $id_func;
    }

    public function setId_setor($id_setor) {
        $this->id_setor = $id_setor;
    }

    public function setNomeF($nomeF) {
        $this->nomeF = $nomeF;
    }

?>
<?php

require_once '../Conexao/Conectar.php';

class DaoFuncionario {

    private $cnx;

    function __construct() {
           
        $this->cnx = new Conectar();
       
    }

 public function DAOexcluirFunc(Funcionario $func) {

        try {
            $sql = "DELETE FROM tbfuncionario WHERE id_func = '{$func->getId_func()}'";
            $campo = $this->cnx->prepare($sql);
            $campo->bindValue(1, $func->getId_func(), PDO::PARAM_INT);
            $campo->execute();
        } catch (PDOException $ex) {
            echo '<div class="alert-error">' . $ex->getMessage() . '</div>';
        }
    }
  public function DAOconsultarFunc(Funcionario $func) {

        $array = array();

        $sql = "SELECT * FROM tbfuncionario INNER JOIN tbsetor  ON tbfuncionario.id_setor = tbsetor.id_setor AND tbfuncionario.id_setor = '{$func->getId_setor()}'";
        $campo = $this->cnx->prepare($sql);
        $campo->bindValue(1, $func->getId_setor(), PDO::PARAM_INT);
        $campo->execute();

        while ($row = $campo->fetch(PDO::FETCH_ASSOC)) {

            $array[$row['id_func']]['id_func'] = $row['id_func'];
            $array[$row['id_func']]['descricao'] = $row['descricao'];
            $array[$row['id_func']]['nome'] = $row['nome'];
        }
        return $array;
    }

?>
<?php

require_once '../modelo/Funcionario.php';
require_once '../Dao/DaoFuncionario.php';

class controleFuncionario {

    protected $ObjFuncionario;
    protected $ObjDaoFuncionario;

    public function __construct() {

        $this->ObjFuncionario = new Funcionario();
        $this->ObjDaoFuncionario = new DaoFuncionario();
    }

    public function ctlConsultFunc() {

        if (isset($_POST['btnpesq'])) {
            $this->ObjFuncionario->setId_setor($_POST['cbsetor']);
            return $this->ObjDaoFuncionario->DAOconsultarFunc($this->ObjFuncionario);
        }
    }

    public function ctlPassaIdFunc() {

        $this->ObjFuncionario->setId_func($_GET['id_func']);
        return $this->ObjDaoFuncionario->DAOpassarIdFunc($this->ObjFuncionario);
    }
  
   public function ctlExcluirFunc() {

        if (isset($_POST['btnexcluir'])) {
            $this->ObjFuncionario->setId_func($_GET['id_func']);
             echo '<div class="alert-error">Funcionário Excluído com Sucesso!!!</div>';
            echo "<meta HTTP-EQUIV='refresh' CONTENT='8;URL=../visaoFuncionario/VisaoConsultarFuncionario.php'>";
            return $this->ObjDaoFuncionario->DAOexcluirFunc($this->ObjFuncionario);
        }
    }
  
  ?>
  
  
<!DOCTYPE HTML>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>Consultar Funcionários Por setor:</title>
        <!-- CSS-->
        <link rel="stylesheet" type="text/css" href="../css/estilo.css">
        <link rel="stylesheet" type="text/css" href="../css/grid.css">
        <link rel="stylesheet" type="text/css" href="../css/alerta.css">
        <link rel="stylesheet" type="text/css" href="../css/bootstrap.css">
        <link rel="stylesheet" type="text/css" href="#">
        <!-- JS -->
        <script language="javascript" type="text/javascript" src="../js/jquery.js"></script>
        <script language="javascript" type="text/javascript" src="../js/Fechar.js"></script>
        <script language="javascript" type="text/javascript" src="../js/bootstrap.min.js"></script>
        <script language="javascript" type="text/javascript" src="../js/ModalExcluir.js"></script>
        <script language="javascript" type="text/javascript" src="../js/Fechar.js"></script>
    </head>
    <body>
        <div class="tudao">
            <div class="topo">
            </div>
            <div class="cabecalho">
                <div class="alinharConsulta">
                    <form method="post">
                        <div class="row">
                            <div class="col-6">
                                <table width="535" border="0">
                                    <tr>
                                        <td width="317"><select class="form-control" name="cbsetor">
                                                <?php
                                                include '../controle/controleSetor.php';
                                                $v1 = new ControleSetor();
                                                $a = $v1->ctlCarregaBox();
                                                foreach ($a as $key => $valor) {
                                                    ?>
                                                    <option value="<?= $valor['id_setor']; ?>">
                                                        <?= $valor['descricao']; ?>
                                                    <?php } ?>
                                                </option>
                                            </select> </td>
                                        <td width="115" align="right"><input type="submit" name="btnpesq" class="btn btn-especial" value="Pesquisar:"></td>
                                        <td width="89" align="right"><a href="../index.php" class="btn btn-danger">Voltar:</a></td>
                                    </tr>
                                </table>
                            </div>
                        </div>
                    </form>
                </div>
            </div>
            <div class="conteudoTable">
                <form method="post">
                    <table align="center" class=" table table-condensed letras" border="0" width="84%">
                        <tr>
                             <td width="29%" align="center" valign="middle">Setor:</td>
                            <td width="37%" align="center" valign="middle">Funcionário:</td>
                            <td width="19%" align="center" valign="middle">Edição:</td>
                            <td width="15%" align="center" valign="middle">Exclusão:</td>
                        </tr>
                        <?php
                        require_once '../controle/controleFuncionario.php';
                        $cs = new controleFuncionario();
                        $array = $cs->ctlConsultFunc();
                        foreach ($array as $key => $value) {
                            ?>
                            <tr>
                                <td height="29" align="center"><?= $value['descricao'] ?></td>
                                <td height="29" align="center"><?= $value['nome'] ?></td>
                                <td align="center"><a href="visaoEditarFuncionario.php?id_func=<?= $value['id_func']; ?>" class="btn btn-editar">Editar:</a></td>
                     <input type="button" class="btn btn-danger" value="Excluir:" data-toggle="modal" data-target="#ch">          
                            </tr>
                        <?php } ?>
                    </table>
                </form>
              <!-- Começa o Meu Modal-->
            <div id="ch" class="modal fade" role="dialog">
                <div class="modal-dialog telaModal letras"> 
                    <!-- Modal content-->
                    <div class="modal-content">
                        <div class="modal-header">
                            <button type="button" class="close" data-dismiss="modal">×</button>
                            <h4 class="modal-title">Deseja Excluir Setor?</h4>
                        </div>
                        <div class="modal-body">
                                <!-- Carrega o Campo que vai ser excluido!!!!-->
                            </div>
                        <div class="modal-footer"> <a href='visaoExcluirSetor.php?id_setor=<?= $vl['id_setor']; ?>'class="btn btn-danger">Deletar:</a>
                                <button type="button" class="btn btn-especial" data-dismiss="modal">Close:</button>
                            </div>
                            </div>
                </div>
            </div>
            </div>            
        </div>
    </body>
</html>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem varios registros indicando para abrir apenas um modal único o "ch"

 

O que você precisa fazer é colocar esse modal dentro do seu while e cada modal ter o ID especifico do seu registro.

Por exemplo:

 

data-target="ch_".<?php echo $value['id']; ?>."">

modal id="ch_".<?php echo $value['id']; ?>.""

 

Essa seria a forma mais simples de se fazer, porem, você pode fazer de um modo mais "clean" via ajax

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por landerbadi
      Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, ativo. Nela tem cadastrado vários itens. No campo ativo eu coloco a letra "S" para informar que este item está ativo no sistema. Por exemplo: 1, casa, S 2, mesa, S 3, cama, S 4, moto S 5, rádio O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "produtos" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, mesa, moto 2, mesa, casa, cama 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela produtos da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "mesa". Preciso fazer com que o php me liste todos os registros da tabela "produtos" que contenham a palavra "mesa". Até aqui tudo bem eu consigo listar. Estou fazendo assim: <?php $item = "mesa" $sql = mysqli_query($conn, "SELECT * FROM produtos WHERE item1 LIKE '$item' OR item2 LIKE '$item' OR item3 LIKE '$item' LIMIT 10"); while($aux = mysqli_fetch_assoc($sql)) { $id = $aux["id"]; $item1 = $aux["item1"]; $item2 = $aux["item2"]; $item3 = $aux["item3"]; echo $id . " - " . $item1 . ", " . $item2 . ", " $item3 . "<br>"; } ?> O problema é que está listando todos os registros que contém o item mesa. Eu preciso que o php verifique os demais item e me liste somente os registro em que todos os registros estejam ativos no sistema. No exemplo acima ele não deveria listar o registro 3. pois nesse registro contém o item "radio" e este item não está ativo no sistema. Ou seja, o registro "radio" na tabela itens não possui um "S" na coluna "ativo". Alguém sabe como resolver isso?
    • Por ILR master
      Fala galera.
      Espero que todos estejam bem.
      Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
       
      <item>
      <title>
      d sa dsad sad sadasdas
      </title>
      <link>
      dsadas dsa sad asd as dsada
      </link>
      <pubDate>sadasdasdsa as</pubDate>
      <dc:creator>
      d sad sad sa ad as das
      </dc:creator>
      </item>
       
      Meu código:
       
      $link = "noticias.xml"; 
      $xml = simplexml_load_file($link); 
      foreach($xml -> channel as $ite) {     
           $titulo = $ite -> item->title;
           $urltitulo = $ite -> item->link;
           print $urltitulo = $ite -> item->dc:creator;
      } //fim do foreach
      ?>
       
      Esse campo dc:creator eu não consigo ler. Como faço?
       
      Agradeço quem puder me ajudar.
       
      Abs
       
       
    • Por First
      Olá a todos!
       
      Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês.
      Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/
       
      Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda.
      E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece.
      Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando.
       
       
      Desde já, obrigado.
    • Por landerbadi
      Olá pessoal, boa tarde
       
      Tenho uma tabela chamada "produtos" com os seguintes campos (id, produto) e outra tabela chamada "itens" com os seguintes campos (id, prod_01, prod_02, prod_03, prod_04).
       
      Na tabela produtos eu tenho cadastrado os seguintes produtos: laranja, maçã, uva, goiaba, arroz, feijão, macarrão, etc.
       
      Na tabela itens eu tenho cadastrado os itens da seguinte maneira:
       
      1, laranja, uva, arroz, feijão;
      2, maçã, macarrão, goiaba, uva;
      3, arroz, feijão, maçã, azeite
       
      Meu problema é o seguinte: 
      Eu escolho um produto da tabela "produtos", por exemplo "uva".  Preciso fazer uma consulta na tabela "itens" para ser listado todos os registros que contenham o produto "uva" e que todos os demais produtos estejam cadastrados na tabela "produtos".
       
      No exemplo acima seria listado apenas dois registros, pois o terceiro registro não contém o produto "uva". 
       
      Alguém pode me ajudar? Pois estou quebrando a cabeça a vários dias e não consigo achar uma solução.
    • Por landerbadi
      Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, plural, ativo. Nela tem cadastrado vários itens e seu respectivo plural. No campo ativo eu coloco a letra "S" para informar que esta palavra está ativa no sistema. Por exemplo: 1, casa, casas, S 2, mesa, mesas, S 3, cama, camas, S 4, moto, motos, S 5, rádio, rádios O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "variações" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, camas, moto 2, mesas, casas, radio 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela variações da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "casa". Preciso fazer com que o php me liste todos os registros da tabela "variações" que contenham a palavra "casa". Porém se tiver algum registro com a palavra "casas" também tem que ser listado. Neste caso ele irá encontrar dois registros. Agora eu preciso que o php verifique os demais itens e faça a listagem apenas dos item que estão ativos (que contenham um "S" no campo ativo. Neste caso ele irá encontrar apenas um registro, pois o segundo registro contém a palavra "rádio". E "rádio" não está ativo na tabela itens. Como faço isso?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.