PHP - Problema para relacionar datos desde un array con PHP

 
Vista:
Imágen de perfil de Sebastian

Problema para relacionar datos desde un array con PHP

Publicado por Sebastian (2 intervenciones) el 25/09/2021 03:01:18
Hola, estoy haciendo un sistema de trabajos en donde en cada trabajo debe ser asignado uno o varios miembros.

Tabla trabajo
1
2
3
4
idt | trabajo      | miembro
----------------------------
1   | Trabajo 1  | 1,2
2   | Trabajo 2  | 2,3

Tabla usuario
1
2
3
4
5
id | nombre
----------------------------
1   | Pedro
2   | Pablo
3   | Mario

formulario.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
<?php
 
try {
    $conn = new PDO('mysql:host=localhost;dbname=pruebas', 'root', '');
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
    catch(PDOException $e){
        echo "ERROR: " . $e->getMessage();
}
 
//$m = $conn->query("SELECT * FROM trabajo INNER JOIN usuario ON usuario.id = trabajo.miembros");
 
$m = $conn->query("SELECT * FROM trabajo");
$fila = $m->fetch();
 
//while($fila = $m->fetch()){
 
$miembros = explode(',',$fila['miembros']);
 
for($i=0; $i < count($miembros); $i++){
 
//echo $miembros[$i].$fila['nombre'].'<br>';
 
print_r($miembros);
 
//}
}
?>

Como resultado tengo "Array ( [0] => 1 [1] => 2 [2] => 3 ) Array ( [0] => 1 [1] => 2 [2] => 3 ) Array ( [0] => 1 [1] => 2 [2] => 3 )"

Lo que intento hacer es listar los trabajos y los usuarios que están asignados relacionando las tablas "trabajo" y "usuario".

Agradezco la ayuda de antemano
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: 393
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema para relacionar datos desde un array con PHP

Publicado por Jefferson (203 intervenciones) el 25/09/2021 23:33:36
Hola Sebastián

Lo escribí al vuelo, no lo probé, verifica si te funciona

1
2
3
4
5
6
7
8
9
10
11
12
13
$conn = new mysqli('localhost', 'root', '', 'pruebas', 3306);
$qA = "SELECT * FROM trabajo";
$rA = $conn->query($qA);
while ($fA = $rA->fetch_array()) {
   $miembros = explode(',',$fA[2]);
   echo $fA[1].' Asignado a ';
   for($i=0; $i < count($miembros); $i++){
       $qB = $conn->query("SELECT * from usuario where id = '" . $miembros[$i] . "' ");
       $rB = $qB->fetch_row();
       echo  (count($miembros)-$i)==1? $rB[1]:$rB[1].', ';
   }
   echo '<br>';
}

Saludos desde Venezuela
Jefferson Jimenez
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 Sebastian

Problema para relacionar datos desde un array con PHP

Publicado por Sebastian (2 intervenciones) el 26/09/2021 03:59:05
Gracias Jefferson.
Hice algunos cambios para entender un poco y funciona, pero solo me muestra el ultimo trabajo y no una lista de todos los trabajos.
De igual manera, gracias por tu tiempo, me sirvió tu ayuda.
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