GROUP_CONCAT


Para lograr eso, puedes usar la función GROUP_CONCAT de MySQL para concatenar los nombres de los intervinientes en una sola columna para cada carpeta. Aquí está la modificación en tu consulta SQL:


Con la modificación que se hizo en la consulta SQL utilizando GROUP_CONCAT, ahora obtendrás solo una fila por carpeta y en la columna nombres_intervinientes tendrás la lista de nombres concatenados de la tabla carp_interviniente. Asegúrate de ajustar el código según tus necesidades y estructura exacta de la base de datos.

 class getVideossModel extends Conexion

{

    public function obtenerDatos()

    {

        // Selecciona las columnas que necesitas de la tabla carpetas

        // y utiliza GROUP_CONCAT para obtener una lista de nombres de la tabla carp_interviniente

        $consulta = "SELECT c.id, c.num_inv, c.carpeta, c.fecha_carpeta, c.tipo_solicitud, c.distrito, c.juez, c.Asignado, GROUP_CONCAT(i.nombre) as nombres_intervinientes

                     FROM carpetas c

                     LEFT JOIN carp_interviniente i ON c.id = i.id_carpeta

                     GROUP BY c.id";


        // Preparar y ejecutar la consulta

        $resultado = Conexion::conectar()->prepare($consulta);

        $resultado->execute();


        // Procesar los resultados como lo necesites

        $html = '';

        $num_rows = $resultado->rowCount();

        if ($num_rows > 0) {

            $carpetas = $resultado->fetchAll();


            foreach ($carpetas as $carpeta) {

                if ($carpeta['id'] !== 0) {

                    $html .= '<tr>';

                    $html .= '<td>' . $carpeta['num_inv'] . '</td>';

                    $html .= '<td>' . $carpeta['carpeta'] . '</td>';

                    $html .= '<td>' . $carpeta['fecha_carpeta'] . '</td>';

                    $html .= '<td>' . $carpeta['tipo_solicitud'] . '</td>';

                    $html .= '<td>' . $carpeta['distrito'] . '</td>';

                    $html .= '<td>' . $carpeta['juez'] . '</td>';

                    $html .= '<td>' . $carpeta['Asignado'] . '</td>';

                    $html .= '<td>' . $carpeta['nombres_intervinientes'] . '</td>';

                    $html .= '</tr>';

                }

            }

        } else {

            $html .= '<tr>';

            $html .= '<td colspan="8">Sin resultados</td>';

            $html .= '</tr>';

        }

        echo json_encode($html, JSON_UNESCAPED_UNICODE);

    }

}


$videos = new getVideossModel();

$videos->obtenerDatos();


Comentarios

Entradas populares de este blog

Filtrando por fecha

10 videojuegos gratis para aprender JavaScript en línea

reloj obs---datetime.lua