За последние 24 часа нас посетили 18376 программистов и 1598 роботов. Сейчас ищут 893 программиста ...

Вывести данные без повторений из БД из 3 таблиц .

Тема в разделе "Прочие вопросы по PHP", создана пользователем fanat190, 19 ноя 2013.

  1. fanat190

    fanat190 Новичок

    С нами с:
    19 ноя 2013
    Сообщения:
    27
    Симпатии:
    0
    Всем привет. У меня проблема с выводом данных из бд. Суть. Есть таблицы например klientt, proekt, etap, dokument. Все они связаны по id каждого. Вот код:
    $result="SELECT clientt.name_clientt, proekt.id_proekt, proekt.name_proekt, etap.id_etap, etap.name_etap, dokument.name_dokument
    FROM
    clientt, proekt, etap, dokument
    WHERE
    clientt.id_clientt=$id_clientt and clientt.id_clientt=proekt.id_clientt and proekt.id_proekt=etap.id_proekt and proekt.id_proekt=dokument.id_proekt and etap.id_etap=dokument.id_etap
    GROUP BY
    dokument.id_dokument DESC";
    $res=mysql_query($result);

    while($row2=mysql_fetch_assoc($res)){
    <td><?=$row2['name_clientt'];?></td>
    <td><?=$row2['name_etap'];?></td>
    <td><?=$row2['name_etap'];?></td>
    <td><?=$row2['name_dokument'];?></td>
    }



    у меня выводится в следующем виде:
    клиент1 проект1 этап1 документ1
    клиент1 проект1 этап1 документ2
    клиент1 проект2 этап1 документ3
    клиент1 проект3 этап1 документ4

    а нужно в следующем виде:
    клиент1 проект1 этап1 документ1
    документ2
    проект2 этап1 документ3
    проект3 этап1 документ4
    то есть нужо выводить без повторения. подскажите пожалуйста, как сделать??? несколько дней уже голову ломаю

    Добавлено спустя 1 минуту 27 секунд:
    сдвинулась таблица, которую нужно вывести
    вот так она выглядит
    клиент1 проект1 этап1 документ1
    ...............................документ2
    ...........проект2 этап1 документ3
    ...........проект3 этап1 документ4
     
  2. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    - либо разбирайте результат "ручками" в пхп и формируйте список так как вам нужно
    - либо делайте кучу запросов. всех клиентов. потом для каждого список проектов, потом для проектов список этапов ит.д.....

    то что вы хотите, с помощью запроса вы никак не сделаете. если я правильно понял задачу. в качестве точек что должно быть? пробелы? пустота, пустые ячейки таблицы?
     
  3. fanat190

    fanat190 Новичок

    С нами с:
    19 ноя 2013
    Сообщения:
    27
    Симпатии:
    0
    да, вместо точек должны быть пустые ячейки или просто пустота. дело в том что, это очень упрощенная версия таблиц, на самом деле их больше и намного больше полей. и следовательно вопрос, это вообще можно реализовать или мне придется переделывать структуру???

    Добавлено спустя 5 минут 3 секунды:
    - либо разбирайте результат "ручками" в пхп и формируйте список так как вам нужно
    я пробовал делать, но не получается. с полем клиент, где его нужно выводить только один раз, проблем нет, а вот с другими столбцами где может быть сколько угодно записей и их повторений для меня проблема.

    Добавлено спустя 8 минут 20 секунд:
    может подскажите как реализовать или алгоритм дадите какой-нибудь. просто вожусь с этим уже не первый день, а сделать нужно(
     
  4. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Можно сделать как бы конструктор и генерацию таблиц в том порядке в котором нужно, а также с полями и информацией в них, вложенности и прочее...
    Но я думаю, вам-это не по силам.