PHP - obtener consulta de varios resultados

 
Vista:
Imágen de perfil de Charly
Val: 182
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

obtener consulta de varios resultados

Publicado por Charly (69 intervenciones) el 25/09/2019 19:36:17
Estoy creando con php y mysql una consulta a una tabla en la que con un mismo id de usuario existen varios id de producto.
Ya he conseguido que no me muestre el id de producto repetido, pero no se como obtener los resultados si no es mediante un array.
He hecho esto:
1
2
3
4
5
6
7
8
$sql2=$db->prepare('SELECT id_user,id_product FROM contracts WHERE id_user=:id_user GROUP BY id_product');
$sql2->execute(array(
        ':id_user'=>$id_user
));
$id_product=$sql2->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP);
foreach($id_product as $producto=>$value){
        print_r($value);
}
Y me sale este resultado: Array ( [0] => 1 [1] => 3 )
Mas abajo, llamo al id_product especifico as:
1
if($id_product==1){
Ayudenme, por favor, no se como obtener los ids de producto por separado.
Gracias por adelantado.
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
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

obtener consulta de varios resultados

Publicado por xve (6935 intervenciones) el 25/09/2019 20:32:41
Si haces un
1
print_r($id_product);
exactamente que te devuelve?
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
sin imagen de perfil
Val: 1.071
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

obtener consulta de varios resultados

Publicado por Yamil Bracho (888 intervenciones) el 25/09/2019 20:43:24
$value[0]=id User, $value[1] = id_product

Si no especificas el modo de fecthj puedes usar acceso a las filas con key

1
2
3
4
5
6
$id_product=$sql2->fetchAll();
foreach($id_product as $producto=>$value){
 
        echo $value['id_product']);
 
}
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 xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

obtener consulta de varios resultados

Publicado por xve (6935 intervenciones) el 26/09/2019 07:55:48
Comento la solución que resolvimos en el chat de PHP:

Por lo visto $id_product devuelve:
Array ( [2] => Array ( [0] => 1 [1] => 3 ) )

Y la solución pasa por:
1
2
3
foreach($id_product[0] as $value){
    echo $value;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Charly
Val: 182
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

obtener consulta de varios resultados

Publicado por Charly (69 intervenciones) el 26/09/2019 11:50:09
Gracias xve, pero esa es solo parte de la solución. Si lo ponemos de la siguiente manera el resultado es: 13
1
2
3
foreach($id_product[2] as $value){
	echo $value;
}
Ahora solo faltaria poder separar los dos números y obtenerlos por separado, en dos variables diferentes o algo así.
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.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

obtener consulta de varios resultados

Publicado por joel (1269 intervenciones) el 26/09/2019 14:42:49
Te los junta, porque no hay ningun salto de linea, ni nada... entiendo que primero muestra el 1 y después el 3!!! es un bucle!!!

Prueba:
1
2
3
foreach($id_product[2] as $value){
	echo $value."<br>";
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar