How to pass value within modal with PHP [duplicate]

0

I'm trying to create a delete button for a table. The exclusion will be ugly in two steps: 1. click on the trash 2. confirm

I think I'm getting confused when it comes to passing the $ pro modal value.

<html lang="en">
<head>
    <title>Estoque</title>
    <!-- Bootstrap core CSS -->
    <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet">
    <!-- Bootstrap theme -->
    <link href="bootstrap/css/bootstrap-theme.min.css" rel="stylesheet">
    <script src="bootstrap/js/bootstrap.min.js" </script>
    <script src="jquery-2.1.4.min.js"</script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script><scriptsrc="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</head>
<body>
    <div class="container">  
        <table class="table">
            <tr><b>
                <td>Código Produto</td>
                <td>Descrição</td>
                <td>Preço</td>
                <td>Quantidade Estoque</td>
            </tr></b>

    <?php
        REQUIRE_ONCE "conexao.php";
        $sql = "SELECT id, cod_produto, dsc_produto, preco_produto, qtd_estoque, qtd_limitador FROM estoque";
        $result = mysqli_query($conexao, $sql);
        while ($row = mysqli_fetch_assoc($result)){ 
    ?>

            <tr bgcolor="<?php echo $bg ?>">
                <td><?php echo $row[cod_produto] ?></td>
                <td><?php echo $row[dsc_produto] ?></td>
                <td><?php echo $row[preco_produto] ?></td>
                <td><?php echo $row[qtd_estoque] ?></td>
                <td><?php echo $row[qtd_limitador] ?></td>
                <td>
                    <form method="get" action="edit.php">
                        <button type="hidden" name="id" class="btn btn-default" value="<?php echo $row[id]?>"><span class="glyphicon glyphicon-pencil" aria-hidden="true"></span> </button>
                    </form>
                    <form method="POST" action="<?php $_SERVER['PHP_SELF']; ?>">
                        <button type="button" name="botaoDelete" class="btn btn-default" data-toggle="modal" value="<?php echo $row[id] ?>" data-target="#myModal"><span class="glyphicon glyphicon-trash" aria-hidden="true"></span></button>
                    </form>
                </td>
            </tr>

        <!-- Modal -->
        <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
        <div class="modal-dialog">
        <div class="modal-content">
        <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <h4 class="modal-title">Excluir produto</h4>
      </div>
      <div class="modal-body">
        <p>Você tem certeza que deseja excluir?</p>

      </div>
      <div class="modal-footer">
        <form method="POST">
            <button type="button" name="botaoConfirma" value="<?php echo $dlt ?>" class="btn btn-danger">Excluir</button>
            <button type="button" class="btn btnn-default" data-dismiss="modal">Fechar</button>
        </form>

    <?php      
        if (isset($_POST["botaoDelete"])) {
            $dlt = $_POST["botaoDelete"];
            if (isset($_POST["botaoConfirma"])) {
                $cnf = $_POST["botaoConfirma"];
                $deleteSql = mysqli_query($conexao, "DELETE * FROM estoque WHERE id='".$cnf."'");
            }
        }
    }   
    ?> 

    </div>
    </div><!-- /.modal-content -->
    </div><!-- /.modal-dialog -->
    </div><!-- /.modal -->
    </tbody>
    </div>
    </body>

Is there any way to pass button value without using form ? And also, how can I call this value (if the button is pressed) without using if (isset) ? Is it worth it?

    
asked by anonymous 16.09.2015 / 00:07

2 answers

3

Oh, from what I understand, this is what you do here. Next:

1st: In this step you call the modal, and in the onclick method, you pass the id you want. It will put the button to delete a link:

<a href="#deletar-dado" role="button" data-toggle="modal" onclick="deletaDado(<?php echo $id ?>)" class="deletar">Excluir</a>

2nd: Create your modal as follows:

<div id="deletar-dado" class="modal fade" tabindex="-1" data-backdrop="static" data-keyboard="false">
<div class="modal-dialog">
    <div class="modal-content">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>
            <h4 class="modal-title">Confirmação</h4>
        </div>
        <div class="modal-body">
            <p>Deseja realmente excluir este registro?</p>
        </div>
        <div class="modal-footer">
            <button type="button" data-dismiss="modal" class="btn default">Cancelar</button>
            <a id="confirmaDelecao" class="btn red">Apagar</a>
        </div>
    </div>
</div>

3rd: create a function that js that will receive the data id to delete:

<script type="text/javascript">
function deletaDado (idDado){
    //seta o caminho para quando clicar em "Apagar".
    var href = $('#confirmaDelecao')[0].baseURI + '/deletar/' + idDado;
    //adiciona atributo de delecao ao link
    $('#confirmaDelecao').prop("href", href);
}
</script>

If you need anything, call people there. : D Thanks!

    
16.09.2015 / 12:40
0

Following Matheus guidelines, I got:

<html lang="en">
<head>




   <title>Estoque</title>

<!-- Bootstrap core CSS -->
<link href="bootstrap/css/bootstrap.min.css" rel="stylesheet">
<!-- Bootstrap theme -->
<link href="bootstrap/css/bootstrap-theme.min.css" rel="stylesheet">
<script src="bootstrap/js/bootstrap.min.js" </script>
<script src="jquery-2.1.4.min.js"</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script><scriptsrc="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</head>
<body>


<div class="container">  
        <table class="table">
            <tr><b>
                <td>Código Produto</td>
                <td>Descrição</td>
                <td>Preço</td>
                <td>Quantidade Estoque</td>
            </tr></b>


<?php
REQUIRE_ONCE "conexao.php";
$sql = "SELECT id, cod_produto, dsc_produto, preco_produto, qtd_estoque, qtd_limitador FROM estoque";
$result = mysqli_query($conexao, $sql);
    while ($row = mysqli_fetch_assoc($result)) 
        { 

?>


            <tr bgcolor="<?php echo $bg ?>">
                <td><?php echo $row[cod_produto] ?></td>
                <td><?php echo $row[dsc_produto] ?></td>
                <td><?php echo $row[preco_produto] ?></td>
                <td><?php echo $row[qtd_estoque] ?></td>
                <td><?php echo $row[qtd_limitador] ?></td>



                <td>
                    <form method="get" action="edit.php">
                        <button type="hidden" name="id" class="btn btn-default" value="<?php echo $row[id]?>"><span class="glyphicon glyphicon-pencil" aria-hidden="true"></span> </button>
                    </form>
                    <a href="#deletar-dado" role="button" data-toggle="modal" onclick="deletaDado(<?php echo $row[id]?>)" class="deletar">Excluir</a>
                </td>
                </tr>



    <!-- Modal -->
    <div id="deletar-dado" class="modal fade" tabindex="-1" data-backdrop="static" data-keyboard="false">
<div class="modal-dialog">
<div class="modal-content">
    <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>
        <h4 class="modal-title">Confirmação</h4>
    </div>
    <div class="modal-body">
        <p>Deseja realmente excluir este registro?</p>
    </div>
    <div class="modal-footer">
        <button type="button" data-dismiss="modal" class="btn default">Cancelar</button>
        <a id="confirmaDelecao" class="btn red">Apagar</a>
    </div>
</div>
</div>


</tbody>
</div>
<?php      

}   
?> 
<script type="text/javascript">
function deletaDado (idDado){
//seta o caminho para quando clicar em "Apagar".
var href = $('#confirmaDelecao')[0].baseURI + '/deletar/' + idDado;
//adiciona atributo de delecao ao link
$('#confirmaDelecao').prop("href", href);
}
</script>
</body>

By clicking the delete link on the confirmation screen, nothing happens.

    
16.09.2015 / 17:00