MySQL - dos consultas SELECT y convertiralas a JSOn

 
Vista:
Imágen de perfil de francisco
Val: 43
Ha aumentado 1 puesto en MySQL (en relación al último mes)
Gráfica de MySQL

dos consultas SELECT y convertiralas a JSOn

Publicado por francisco (25 intervenciones) el 23/07/2018 23:47:08
Hola buen dia... estoy tratando de hacer dos consultas Select de diferentes tablas dentro de la misma base de datos y despues de eso convertirlas a json para poder hacer llamdo ajax y hacer unas condiciones el detalle es que no se como realizarlas y no se si tenga bien mi codigo...

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
<?php
include 'conexiones.php';
$conexion =  new Conexion();
$conn =  $conexion->getConexion();
 
function escanDn($estatus){
 
$sql = "SELECT * FROM caratulasalida WHERE dn = '".dn."' AND pallet_status = '".$estatus."'";
 
$state = $conn->prepare($sql);
$valor = $state->execute();
 
	if ($valor) {
		while($result = $state->fetch(PDO::FETCH_ASSOC)){
			$data["Datos"][]=$result;
		}
		echo json_encode($data);
	}else{
		echo "Error";
	}
}
 
	function programado(){
		$sql = "SELECT * FROM planproduccion WHERE dnProduccion = '".dnProduccion."' ";
 
		$state = $conn->Prepare($sql);
		$valor = $status->execute();
 
		if($valor){
			while($result = $state->fetch(PDO::FETCH_ASSOC)){
				$data["Datos"][]=$result;
			}
			echo json_encode($data);
		}else{
			echo "Error";
		}
	}
 
	$conexion = null;
?>


las consultas basicamente estan correctas segun yo lo que creo tener mal es la estructura de mi codigo para hacer que me regrese en formato json o si ustedes ven algun error por favor si me puedes ayudar. al final mi condicion que deseo realizar es si el dn ingresado tiene estatus y si ese mismo dn esta en el plan de produccion quisas todo eso lo pueda hacer con un iner join, pero al momento no se como realizarlo espero de su ayuda muchas gracias
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
sin imagen de perfil
Val: 98
Bronce
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

dos consultas SELECT y convertiralas a JSOn

Publicado por Yamil Bracho (40 intervenciones) el 23/07/2018 23:51:23
Aqui no sera $dn ?
1
$sql = "SELECT * FROM caratulasalida WHERE dn = '".dn."' AND pallet_status = '".$estatus."'";
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 francisco
Val: 43
Ha aumentado 1 puesto en MySQL (en relación al último mes)
Gráfica de MySQL

dos consultas SELECT y convertiralas a JSOn

Publicado por francisco (25 intervenciones) el 24/07/2018 17:36:54
entonces es $dn? y lo paso como parametro en la funcion ya que ese dn entra en input text seria que entra por post y asi lo toma encuenta la funcion ??
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 xve
Val: 796
Oro
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

dos consultas SELECT y convertiralas a JSOn

Publicado por xve (1151 intervenciones) el 24/07/2018 20:21:47
si, exacto... y la variable $estatus de donde sale?

Si son variables pasadas desde AJAX, tendras que utilizar $_GET["estatus"] o $_POST["estatus"]
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 francisco
Val: 43
Ha aumentado 1 puesto en MySQL (en relación al último mes)
Gráfica de MySQL

dos consultas SELECT y convertiralas a JSOn

Publicado por francisco (25 intervenciones) el 24/07/2018 20:34:49
Gracias xve, la variable $estatus no la mando por ningun lado lo que pasa es que necesito hacer una comparacion o validacion entre el $dn ingresado que si esta con el estatus adecuado, traigo un lio muy grande con eso desde hace semanas y no lo puedo resolver :( ...

escaneo codigo = dn
ese dn debe de tener estatus aprobatorio = 3
si tiene estatus = 2 manda un alerta y se corta el programa

a su bes si pasa esa condicion el ese codigo escaneado esta dentro del plan pasa
si no esta en plan manda una alerta

y despues de eso me tiene que abrir una ventana tipo modal... se que no es tema de este foro pero te anexo mi ajax que tambien es un desastre.

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
<script type="text/javascript">
$("#info").focus();
$("#info").on('keyup', function escanDn(e) {
    var keycode = (e.keyCode ? e.keyCode : e.which);
    if (keycode == '13') {
        $('.modal').modal('show');
    }
});
 
 
$.ajax({
    url:"php/busqueda.php",
    method:"POST",
    dataType:"json",
    data:{"dn" : n, "estatus" : e, "plan" : p},
})
.done(function(msg){
    console.log("alerta: " + "msg");
});
 
// 	if(e == 3 && p==true){
// 		this.open(".modal");
// 	} else if(e == 3 && p==false){
// 		alert "este DN no esta en el plan de Produccion";
// 	}else if(e == 2 && p==true){
// 		alert "Este DN no tiene registro en OEM7";
// 	}
// });
 
 
</script>
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 xve
Val: 796
Oro
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

dos consultas SELECT y convertiralas a JSOn

Publicado por xve (1151 intervenciones) el 25/07/2018 11:03:38
Hola Francisco, como te comentaba, tienes que obtener el valor de tus variables con $_POST["..."] algo así:

1
$sql = "SELECT * FROM caratulasalida WHERE dn = '".$_POST["dn"]."' AND pallet_status = '".$_POST["estatus"]."'";
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 francisco
Val: 43
Ha aumentado 1 puesto en MySQL (en relación al último mes)
Gráfica de MySQL

dos consultas SELECT y convertiralas a JSOn

Publicado por francisco (25 intervenciones) el 25/07/2018 19:13:52
muy bien y despues para poder convertirlos en JSON las dos consultas como puedo hacerlo ???
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 xve
Val: 796
Oro
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

dos consultas SELECT y convertiralas a JSOn

Publicado por xve (1151 intervenciones) el 26/07/2018 08:01:18
Hola Francisco para convertir a JSON puedes utilizar la función JSON_OBJECT() algo así:

1
SELECT JSON_OBJECT('id', id, 'name', name) FROM Table

Ten en cuenta, qu esta instrucción esta apartir de MySQL 5.7 y MariaDB 10.2.3

https://dev.mysql.com/doc/refman/5.7/en/json-creation-functions.html#function_json-object
https://mariadb.com/kb/en/library/json_object/
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