PHP - Como pasar el value de un input a una variable de PHP para ser usada en una consulta de MySql?

 
Vista:
Imágen de perfil de Jorge Eduardo
Val: 19
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

Como pasar el value de un input a una variable de PHP para ser usada en una consulta de MySql?

Publicado por Jorge Eduardo (3 intervenciones) el 14/04/2021 22:00:46
Hola a todos. Necesito ayuda con lo siguiente:
De una ventana en la cual tengo una tabla con registros, cada registro tiene un botón para abrir una ventana modal que captura por JS y AJAX un campo del registro de la tabla y lo muestra en un input readonly en el modal, este valor es que necesito capturar y asignárselo a "$valor" en php.

Copio las partes y explico cada uno de los archivos que tengo:

En la ventana principal este es el botón que envía el dato del campo al archivo JS y abre la ventana modal.

1
echo '<button class="btn btn-success btnEntregaReparto" repnro="'.$value["repnum"].'" data-toggle="modal" data-target="#modalEntregaReparto" title="Entregar Reparto" padding="10px"><i class="fa fa-truck" aria-hidden="true"></i>';

En el archivo JS llamo al archivo AJAX y paso los parametros:

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
/*=============================================
=          ENTREGAR REPARTO                                             =
=============================================*/
$(document).on("click",".btnEntregaReparto",function(){
 
	var repnro = $(this).attr("repnro");
 
	//console.log("repnro",repnro);
 
	var datos = new FormData();
	datos.append("repnro", repnro);
 
	$.ajax({
 
	 	url:"ajax/reparto.ajax.php",
	  	method: "POST",
	  	data: datos,
	  	cache: false,
	  	contentType: false,
	  	processData: false,
	  	dataType: "json",
	  	success: function(respuesta){
 
	  		//console.log("respuesta",respuesta);
	  		$("#repnum").val(respuesta["repnum"]);
 
		}
 
	});
 
})

En el Archivo AJAX hago la petición al controlador y este al modelo, lo cual me retorna la respuesta:

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
/*=============================================
	=            ENTREGA DE REPARTOS              =
	=============================================*/
 
	public $repnro;
 
	public function ajaxEntregarReparto(){
 
		$item = "repnum";
		$valor = $this->repnro;
 
		$respuesta = ControladorRepartos::ctrVerRepartos($item, $valor);
 
		echo json_encode($respuesta);
 
	}
 
}
 
/*=============================================
=            ENTREGA DE REPARTO               =
=============================================*/
if(isset($_POST["repnro"])){
 
	$entrega = new AjaxReparto();
	$entrega -> repnro = $_POST["repnro"];
	$entrega -> ajaxEntregarReparto();
 
}

Y esta respuesta es devuelta al archivo JS y pasada al value del input de la ventana modal

1
<input type="text" class="form-control input-lg" name="repnum" id="repnum" value="" readonly>

Ahora viene mi problema:

en la variable $valor, como le coloco el value del input? es decir:

1
2
3
4
5
6
7
8
9
10
<?php
 
$item = "repnro";
$valor = ??????   <======= (que coloco acá)
var_dump($valor);
$respuesta = ControladorRepartos::ctrEntregaReparto($item, $valor);
 
foreach ($respuesta as $key => $value) {
     .....................
}
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 Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Como pasar el value de un input a una variable de PHP para ser usada en una consulta de MySql?

Publicado por Mauro (1036 intervenciones) el 15/04/2021 14:37:21
Hola Jorge:

Para comenzar, te recomiendo que cuando quieras compartir código utilices el formateo del foro, de que algo como:

<?php

echo "Hola!";

Se vea así:

1
2
3
<?php
 
echo "Hola!";


Esto hará más fácil leerlo y ayudarte.

Por otro lado, la forma de enviar datos de Js a PHP es a través de Ajax.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Jorge Eduardo
Val: 19
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

Como pasar el value de un input a una variable de PHP para ser usada en una consulta de MySql?

Publicado por Jorge Eduardo (3 intervenciones) el 15/04/2021 19:18:25
Gracias Mauro, soy nuevo en el foro y solo puse fragmentos de todas las líneas de los archivos ya que son 5 archivos (repartos.php - repartos.js - reparto.ajax.php - repartos.controlador.php y reparto.modelo.php). Creo que para seguir la linea de lo que necesito deberia pasar los archivos, la duda se me genera en el archivo repartos.php en la linea 323, ahi esta la variable a la que necesito asignarle el valor del input de la linea 286.
Te agradeceria a ti o a alguien más, si me pueden dar una mano.


Gracias.
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 Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Como pasar el value de un input a una variable de PHP para ser usada en una consulta de MySql?

Publicado por Mauro (1036 intervenciones) el 15/04/2021 23:14:30
Hola Jorge:

¿Podrías publicar las líneas específicas sobre las que tienes dudas directo en tu post?
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 Jorge Eduardo
Val: 19
Ha aumentado su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

Como pasar el value de un input a una variable de PHP para ser usada en una consulta de MySql?

Publicado por Jorge Eduardo (3 intervenciones) el 16/04/2021 16:30:28
Gracias Mauro, no se sie es esto lo que solicitas:

La respuesta del archivo JS la paso al value del input de la ventana modal

1
<input type="text" class="form-control input-lg" name="repnum" id="repnum" value="" readonly>
Todo funciona bien hasta acá.
Dentro del Modal en la variable $valor, como le coloco el value del input? es decir:

1
2
3
4
5
6
7
8
9
10
<?php
 
$item = "repnro";
$valor = ??????   <======= (que coloco acá). intentente con: $_POST["repnro"] o $_POST["repnum"]
var_dump($valor); dá valor NULL
$respuesta = ControladorRepartos::ctrEntregaReparto($item, $valor);
 
foreach ($respuesta as $key => $value) {
     .....................
}

en el archivo que adjunte (dentro del zip esta el archivo repartos.php) estan estas lineas completas y en la linea 323 (velo en sublime text) esta comentado el problema( //......... ).
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 Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Como pasar el value de un input a una variable de PHP para ser usada en una consulta de MySql?

Publicado por Mauro (1036 intervenciones) el 18/04/2021 16:23:02
Hola Jorge:

Gracias, es mucho mejor así el formato :)

Respecto de tu pregunta, ¿qué usar en la línea 4? Todo depende de cómo estés enviando el dato desde el FrontEnd hacia el BackEnd.

Por lo que veo estás usando el método POST, con lo cual es correcto pensar en usar $_POST.

Lo que te puede servir para determinar exactamente qué usar como clave del arreglo $_POST es examinar su contenido en el BackEnd.

Para ello puedes usar algo como:

1
var_dump($_POST);

O, mucho mejor, un debugger como XDebug.

Saludos!
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