Função php

Olá
Será que alguém me poderia dar aqui uma ajuda. Tenho uma tabela que regista as reservas de uma escola (idreserva, iduser, depois noutra está o que foi reservado(idequipamento, idsala, idtempo, data) Se a reserva tem mais de um equipamento aparece-me as linhas corretas, o que se pass é que ao passar isso para o front-end aparecem-em três, ou seja, o idreserva é repetido e isso não correto visto que é uma reserva que tem vários idequipamentos)

A função é php é esta

identar texto pre-formatado em 4 espaços

try {
            $sql = "SELECT t6.`idreserva`, t5.`sala`, t6.`data`,t3.`inicio`, t4.`fim`, t6.`atividade`, t2.`nome`
    FROM `req_reserva_detail` AS t1
    INNER JOIN `req_material_equipamento` AS t2 ON (t1.`idequipamento` = t2.`idequipamento`)
    INNER JOIN `req_material_tempo` AS t3 ON (t1.`idtempoInicio` = t3.`idtempo`)
    INNER JOIN `req_material_tempo` AS t4 ON (t1.`idtempoFim` = t4.`idtempo`)
    INNER JOIN `req_material_sala` AS t5 ON (t1.`idsala` = t5.`idsala`)
    INNER JOIN `req_reservas` AS t6 ON (t1.`idreserva` = t6.`idreserva`)
    INNER JOIN `utilizador` AS t7 ON (t6.`idutilizador` = t7.`idutilizador`) WHERE t6.`idutilizador` = '$userid' AND t6.`data` >= CURDATE() ORDER BY  DATA ASC
    ";
            $query = $DB_con->prepare($sql);
            $query->execute();
            $result = $query->fetchAll(PDO::FETCH_ASSOC);
            print_r($results);
            echo json_encode($result);
        } catch (PDOException $e) {
            echo $e->getMessage();
        }

Há alguma mudança a fazer na função +ara que não me apareçam três linhas mas sim uma??

Exemplo

Obrigado

Responder
Responder como um Tópico linkado

Evite duplicar as perguntas (você postou aqui também : Ajuda numa query) . Se precisa acrescentar detalhes, edite sua pergunta.

Sobre a sua pergunta: via SQL e fazendo joins, os dados virão duplicados porque é isso o esperado. Acredito que seja mais fácil você tratar isso no frontend ou no seu Model (caso use MVC). Se estiver usando algum toolkit de GUI, como jQueryUI, veja se o grid desse toolkit tem alguma propriedade para ocultar valores repetidos nas colunas. Assim, você configura a coluna de reserva para não duplicar, exibindo apenas o primeiro registro.

Se estiver exibindo com php puro, você precisar iterar o resultado da consulta (com um for/while) e verificar se o id da reserva já foi exibido. Se sim, não exibe novamente.

Obs: você pode adicionar imagens a seu post, não precisa linká-las de um site externo. Isso facilita muito a ajuda (de onde estou, por exemplo, não consigo ver a imagem por causa do firewall).

Abraço.