JavaScript - Enviar un valor de jquery a un modal en donde se almacene en una varibale php para usar en un query

 
Vista:

Enviar un valor de jquery a un modal en donde se almacene en una varibale php para usar en un query

Publicado por Anderson Proaño (5 intervenciones) el 13/06/2021 22:07:03
Este es mi codigo de la funcion que al darle click en un boton "Seleccionar" aparece y realiza una peticion que funciona bien. el asunto es que en el modal donde se carga todo esto necesito que se almacene en una variable php el "idd" que esta recibiendo la funcion modal_call para poder usarla en una consulta mysql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
function modal_call(idd){
   $("#id_operacion").val(idd)
 
 
 
$(document).on('change','#calculo',function(){
  var id = $("#calculo").val()
 
  $.ajax({
    url: 'post_add/post_calculo.php',
    data:
    {
        id: id
    },
    type: 'POST',
    dataType: 'json',
    success : function(res){
      $.each(res, function( index, v ) {
        $('#dosis_plag').val(res[index].dosis_plag);
 
      });
 
    },
    error : function(xhr, status) {
 
    },
 
    // código a ejecutar sin importar si la petición falló o no
    complete : function(xhr, status) {
 
    }
 
 
});
 
 });
 $("#modal_calculo").modal()
}

Adjunto el modal de la pagina prueba.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<!-- Modal -->
<div class="modal fade" id="modal_calculo" data-backdrop="static" data-keyboard="false"
tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
  <div class="modal-header">
    <h5 class="modal-title" id="staticBackdropLabel">Calcular Dosis</h5>
    <button type="button" class="btn btn-dark" data-dismiss="modal" aria-label="Close">
      Cerrar
    </button>
  </div>
  <div class="modal-body">
 
  <input type="text"  class="form-control w-50 mx-auto" name="id_operacion" id="id_operacion" />
 
 
 
  <label for="n_plaga">Seleccione Plaguicida: </label>
 
    <?php
        require_once 'bd/bd.php';
        //$idd = $_POST["id_operacion"];
 
        $query = mysqli_query($conexion,"SELECT pl.cod_plag, pl.nom_comercial
        FROM plag_plagui as pp
        INNER JOIN plaga as p ON pp.cod_plag = p.cod_plag
        INNER JOIN plaguicida as pl ON pp.cod_plagui= pl.cod_plag
        WHERE p.cod_plag =9");
        $result = mysqli_num_rows($query);
    ?>
 
    <label for="tipo_plag_m"></label>
    <select class="form-control w-50 mx-auto" id="calculo">
    <option value="-1">Seleccione</option>
    <?php
        if ($result>0) {
 
            while ($tipo = mysqli_fetch_array($query)) {
                 # code...
 
    ?>
 
    <option value="<?php echo $tipo["cod_plag"];?>"><?php echo $tipo["nom_comercial"]; ?></option>
    <?php
            }
        }
    ?>
    </select>
 
    <label for="dosis" class=" mt-2">Dosis por Hectarea</label>
    <input type="text" id="dosis_plag"  class="form-control w-50 mx-auto" disabled>
 
    <label for="dosis" class=" mt-2">Unidad de Medida</label>
    <input type="text" id="unidad_dosis" class="form-control w-50 mx-auto" disabled>
 
    <label for="dosis" class=" mt-2">Cantidad de Hectarea</label>
    <input type="text" id="hectareas"  class="form-control w-50 mx-auto">
 
    <div class=" text-center mt-5">
        <button class="btn btn-success" onclick="calcular()">Calcular</button>
        <button class="btn btn-warning" onclick ="borrar()">Borrar</button>
    </div>
  </div>
 
</div>
Entonces la consulta que se realiza para llenar el select es la que necesito que se compare con el valor que deseo enviar desde la funcion call_modal, para reemplazar ese "9" de ejemplo y que asi sea dinamico , e usado enviarla por Ajax mismo dentro de la funcion pero no me sirve pq la coloca en la pagina pero no en el modal , es como si la recibiera despues de que todo vaya normal , entonces no srive, ayuda soy nuevo en todo esto. apenas aprendi a usar ajax y estoy perdido en algunas cosas perdon
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Enviar un valor de jquery a un modal en donde se almacene en una varibale php para usar en un query

Publicado por joel (895 intervenciones) el 14/06/2021 08:21:10
Hola Anderson, viendo tu código, y sin haberlo probado, creo que tendrías que recoger el valor enviado por AJAX en vez de utilizar el valor 9, no?
Creo que tendría que ser algo así:
1
2
3
4
5
$query = mysqli_query($conexion,"SELECT pl.cod_plag, pl.nom_comercial
        FROM plag_plagui as pp
        INNER JOIN plaga as p ON pp.cod_plag = p.cod_plag
        INNER JOIN plaguicida as pl ON pp.cod_plagui= pl.cod_plag
        WHERE p.cod_plag = ".$_POST["id"]);

Lo puedes probar y comentar?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Enviar un valor de jquery a un modal en donde se almacene en una varibale php para usar en un query

Publicado por Anderson Proaño (5 intervenciones) el 14/06/2021 23:36:04
Claro, debería recoger el valor del id y el 9 lo puse solo de prueba para lo que necesito el id , ya probé enviándolo por ajax mismo pero al momento de recogerlo y compararlo me salta error, me podrías explicar como obtuviste el .$POST["id"]? ósea como lo mandaste y lo que hiciste para presentarla, porque te explico uso tres archivos, el funcion.js para el envió, uno llamadado post_calculo.php para la consulta y que retorne lo consultado y el prueba.php que es el que muestra todo esa información. entonces esa función que mostré no esta enviando nada a prueba.php que es la que contiene el modal al que quiero comparar en la consulta que tu me presentas, no se si me explico ? Te agradecería mucho si me ayudas, se poco de esto. me defiendo con los principios básicos, mas allá de eso sigo siendo un novato, te agradecería mucho.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Enviar un valor de jquery a un modal en donde se almacene en una varibale php para usar en un query

Publicado por joel (895 intervenciones) el 15/06/2021 08:22:40
Hola Anderson, ahora yo me he perdido... es verdad, del ajax, llamas al archivo post_calculo.php y tu muestras el código php del archivo prueba.php... como llegas desde post_calculo.php a prueba.php?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Enviar un valor de jquery a un modal en donde se almacene en una varibale php para usar en un query

Publicado por Anderson (5 intervenciones) el 15/06/2021 08:31:51
Habría alguna forma de poder enviarte imágenes para que entiendas de como va mejor?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Enviar un valor de jquery a un modal en donde se almacene en una varibale php para usar en un query

Publicado por joel (895 intervenciones) el 15/06/2021 08:32:49
Si claro... puedes publicar imágenes en el foro... encima de la barra de menus de este formulario hay el botón para "Subir imagenes"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 3
Ha aumentado su posición en 584 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Enviar un valor de jquery a un modal en donde se almacene en una varibale php para usar en un query

Publicado por Anderson Xavier (5 intervenciones) el 15/06/2021 09:02:30
img1
img2
img3
Aqui estan las imagenes
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Enviar un valor de jquery a un modal en donde se almacene en una varibale php para usar en un query

Publicado por Anderson Xavier (5 intervenciones) el 15/06/2021 08:42:32
Osea lo pondre de esta manera , uso tres archivos
1) functions.js para las funciones
2) prueba.php donde previamente con una funcion despliego en una tabla las plagas que tengo guardadas, y tengo un boton llamado SELECCIONAR, bien esto es importante porque cuando doy click ahi me carga el modal , ese boton SELECCIONAR tiene como funcion MODAL_CALL que es la que adjunte, al realizar la accion de abrir el modal, ejecuta otra IMPORTANTE(DENTRO DE PRUEBA.PHP TENGO UNA CONSULTA MYSQL QUE CARGA LOS PLAGUICIDAS QUE TIENE CADA PLAGA ES JUSTO EL ERRO QUE QUIERO ARREGLAR), entonces cuando ya se abre el modal me despliega un SELECT con los plaguicidas cargados como ya mencione , entonces al yo escoger uno, en la funcion MODAL_CALL entra en accion la segunda parte que es $(document).on('change','#calculo',function() DONDE ESTO AL YO ESOCGER UN PLAGUICIDA DEL SELECT DEPENDIENDO DE LA OPCION QUE ELIJA ME APARECEN LOS VALORES QUE CONTIENE DICHO PLAGUICIDA EN LOS INPUTS (IMPORTANTE SI FUNCIONA ESO ) ENTONCES CUAL ES EL PROBLEMA , que dicha consulta dentro de PRUEBA.PH DENTRO DEL MODAL NO ES DINAMICA puesto que necesito el ID DE LA PLAGA PARA QUE APAREZCAN LOS PLAGUICIDAS SEGUN LA PLAGA QUE ESCOJA PREVIAMENTE entonces por eso se ve que en el QUERY PONGO "=9" PUESTO QUE NO TENGO EL ID DE LA PLAGA QUE ES LO QUE YO QUIERO. AHORA EN LA FUNCION MODAL_CALL (idd) como se ve hay un "idd" eso lo envie por una funcion previa entonces ese valor ES EL ID DE LAS PLAGAS , ENTONCES ESE VALOR ES EL QUE QUIERO COMPARAR EN LA CONSULTA DE PRUEBA.PHP DENTRO DEL MODAL. ESE ES EL PROBLEMA

3) el post_calculo.php SOLO TRAE LOS VALORES DEL PLAGUICIDA QUE SE ELIGE EN EL SELECT PARA QUE ESOS DATOS SE COLOQUEN EN LOS INPUTS .


ESPERO HAYA SIDO CLARO, PERDONA LAS MOLESTIAS SOY NUEVO EN ESTO :/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar