TransWikia.com

¿Cómo usar variable con $_POST[]?

Stack Overflow en español Asked on December 22, 2021

Tengo el siguiente código html, donde paso datos seleccionados desde dos select:

<body>
    <h1></h1>

    <form action="valor.php" method="post">
        <div>
            <label></label>
            <br>
            <select id="caja1" name="caja1"></select>
        </div>

        <div>
            <label></label>
            <br>
            <select id="caja2" name="caja2"></select>
        </div>

        <div>
            <input type="submit" name="Mostrar" value="Mostrar">
        </div>
    </form>

    <div id="datos"></div>

</body>

Una vez doy al boton Mostrar almaceno los datos seleccionados, y los paso a las variables $seleccion1 = $_POST[‘caja1’] y $seleccion2 = $_POST[‘caja2’].

Quisiera usar esos datos en una funcion como esta:

$(document).on('click', '#caja_', function(){

    var valor = $(this).val();

    if (valor != "") {
        buscar_datos(valor);
    }else{
        buscar_datos();
    }
});

En donde ‘#caja_’ debiese ser la variable "$seleccion1" o $POST[caja1], ¿cómo debo hacerlo si el archivo donde tengo el metodo es tipo javascript?

One Answer

Si deseas que la búsqueda se actualice en cada cambio de seleccion:

$("select").on('change', function(){
    buscar_datos();
});

Puedes enviar directamente el formulario en la llamada a buscar_datos(). Equivale a presionar el boton "Mostrar".

function buscar_datos(){
   $("form").submit();
}

Luego en el archivo php recibira los datos en $_POST. Puedes chequear si el valor no es vacio para agregarlos a la consulta y filtrar

$seleccion1 = $_POST['caja1'];
$seleccion2 = $_POST['caja2'];
$sql="SELECT * from mitabla WHERE .... "
if ($seleccion1!=""){
  $sql.=" AND campo1='$seleccion1'";
}
if ($seleccion2!=""){
  $sql.=" AND campo2='$seleccion2'";
}
// Ejecutar $sql filtrada

Para evitar usar los selectores select, form es mejor definir un id para elementos individuales y class para grupos de elementos.

<form id="myform" .. >
<select class="selector" id="caja1" .. >
<select class="selector" id="caja2" .. >

Luego usar

$("#myform").submit();
$(".selector").on('change', ... );

Answered by F.Igor on December 22, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP