PHP - Funcion PHP con parametros (array)

   
Vista:
Imágen de perfil de Ever

Funcion PHP con parametros (array)

Publicado por Ever (28 intervenciones) el 05/03/2018 20:13:23
Buen día foro, tengo una consulta.

Respecto a PHP y MYSQL.

Si tengo una función PHP con parametro, dicho parametro puedo agregarlo con multiples datos?, es decir algo parecido a un array y dicha funcion pasará los datos a una consulta Sql para ser procesado en una consulta en su propiedad where, esta consulta se encargará de verificar dicho datos, en caso de que existen me arroje la respuesta de la consulta.

Es posible esto?
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 xve

Funcion PHP con parametros (array)

Publicado por xve (6810 intervenciones) el 06/03/2018 07:44:18
Hola Even, sobre lo que comentas de pasar datos a una función PHP, puedes pasar un array de valor sin problema!!!

Lo que no te se decir es el tema de la consulta SQL... dependerá de como la ejecutes... si los parámetros de dicha consulta van por separado en un array, te funcionara!!!
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 Ever

Funcion PHP con parametros (array)

Publicado por Ever (28 intervenciones) el 06/03/2018 16:55:43
Gracias por contentar xve.
Mira este es 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
$id = $_POST['id'];
// Cargar todos los estilos dados de alta
$estilo = PackingListData::getEstilos($id);
      foreach($estilo as $est){
        $style =  $est->estilo;   //aqui traigo mi valores ejemplo: 17824 178547 14375
}
 
$packing = PackingListData::getPackingList($style,$id);  //aqui los paso por parametro en $style y mi $id 
// y los datos encontrados los paso por json en las siguientes lineas de codigo.
 
$arr = array();
foreach ($packing as $pack) {
		$arr[] = array(
			//"data"=>array(	//'id'=>$pack->id,
				'id'=>$pack->id,
				'referencia' =>$pack->referencia,
				'estilo'=>$pack->estilo,
				'bultos'=>$pack->num_bultos,
				'total_bultos'=>$pack->total_bultos,
				'piezas_teoricas'=>$pack->piezas_teoricas,
				'total_piezas'=>$pack->total_piezas,
		//)
	);
}
echo  json_encode($arr);
 ?>

Y mi consulta en donde pasan los parametros es:

1
2
3
4
5
public static function getPackingList($estilo,$id){
		$sql = " select DISTINCT estilo,referencia, sum(bultos) as num_bultos,piezas_teoricas,total_piezas from ".self::$tablename. " where  estilo In('$estilos') and pack_id = '$id' GROUP BY estilo";
		$query = Executor::doit($sql);
		return Model::many($query[0], new PackingListData());
	}

mi duda radica en como podria pasar en mi consulta el parametro $estilo que se supone que son los valores obtenidos en
1
PackingListData::getPackingList($style,$id).
Quiero evaluar mi consulta en el campo
1
estilo In(17824,178547,14375)
como logro poder hacer esto, espero haberme dato a entender. 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 xve

Funcion PHP con parametros (array)

Publicado por xve (6810 intervenciones) el 06/03/2018 22:03:09
Hola Even, para ello, utiliza implode() https://secure.php.net/manual/es/function.implode.php

1
2
3
4
<?php
$array=array(10,12,15,20);
echo implode(",", $array);
?>

Para tu código seria algo así:
1
$sql = " select DISTINCT estilo,referencia, sum(bultos) as num_bultos,piezas_teoricas,total_piezas from ".self::$tablename. " where  estilo In(".explode(",",$estilos).") and pack_id = '$id' GROUP BY estilo";


Espero que te sirva... ya nos diras...
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
Revisar política de publicidad