![]()  | 
		
Задавайте вопросы, мы ответим
Вы не зашли.
Есть таблица "suggestions":
-------------------------------------
suggestion_id | name | project_author 
-------------------------------------
         1        | aaa   |     Vasya        
-------------------------------------
         2        | ccc   |     petya   
-------------------------------------
         3        | bbb   |     Vasya  
---------- --------------------------
         4        | eee   |     Vasya   
-------------------------------------
         5        | ddd   |     petya     
-------------------------------------
и есть таблица "files":
------------------------------
id_file | file_name | suggestion   
------------------------------
    1   | aaaaa.jpg |     3
------------------------------
    2   | bbbbb.jpg |     2
------------------------------
    3   | ccccc.jpg |     1
------------------------------
    4   | ddddd.jpg |     2
------------------------------
    5   | eeeee.jpg |     4
------------------------------
    6   | ggggg.jpg |     3
------------------------------
    7   | kkkkk.jpg |     5
------------------------------
    8   | mmmь.jpg |     2
------------------------------
    9   | ooooo.jpg |     1
------------------------------
   10   | ppppp.jpg |     4
------------------------------
Как составить запрос, чтоб в итоге получилась структура массива:
Vasya_files = array(
    [0] => aaa = array(
        [0] => ccccc.jpg
        [1] => ooooo.jpg
    )
    [1] => bbb = array(
        [0] => aaaaa.jpg
        [1] => ggggg.jpg
    )
    [2] => eee = array(
        [0] => eeeee.jpg
        [1] => ppppp.jpg
    )
)
Другими словами, вытащить все "file_name", принадлежащие "suggestions", которые в свою очередь пренадлежат "Vasya"?
Неактивен
Скорее всего структура массива будет немножко другой, но смысл получится тот же.
Неактивен
Не то. Принт_эр выдал такую структуру:
Array
(
    [0] => Array
        (
            [name] => 111111116
            [file_name] => Upload.rar
        )
    [1] => Array
        (
            [name] => 111111118
            [file_name] => hdfhdad.rar
        )
    [2] => Array
        (
            [name] => 111111118
            [file_name] => Товар.rar
        )
    [3] => Array
        (
            [name] => 111111118
            [file_name] => Paper.rar
        )
    [4] => Array
        (
            [name] => 111111118
            [file_name] => Copia.zip
        )
... ... ...
)
просто отсортированы по [name]
Неактивен
Вполне себе то 
. Просто следует сделать дополнительные действия на клиенте, что-то вроде
Неактивен
Вот вот. И я о том же. Или временную таблицу создавать, что-ли. Но так как в SQL не силён, - вот и прошу помощи. То, что вложенным форичем обходить можно - это я сделал. Но дополнительные запросы при обходе массива - не дело.
Отредактированно lutsk (17.01.2013 23:41:31)
Неактивен
А в чем проблема-то так пройти по массиву? MYSQL он возвращает таблицы, а структура, которую Вы хотите не таблица, а нечто посложнее. Плюс опять же - Вы же извлекаете элементы из, можно так сказать, "MySQL" с помощью mysql_fetch_array? Ну так и создавайте массив по ходу, как я Вам написал.
Неактивен
Сейчас получается такой ход выполнения приложения:
Формирую mysql_fetch_array со значениями  suggestion_id => name, где project_author = Vasya. Форичем обхожу. И при каждой итерации приходится формировать ещё один mysql_fetch_array suggestions => file_name, где suggestions = suggestion_id в родительском фориче.
Вот и думаю, что это не хорошо. Здаётся мне, что такая задача решаема на уровне базы данных.
Отредактированно lutsk (17.01.2013 23:58:38)
Неактивен
Так-с... Давайте отделять зерна от плевел - вопросы по php обсуждать здесь не будем (или во всяком случае отложим на попозже). Сервера реляционных баз данных возвращают выборки в ввиде строк, столбцов или таблиц. У Вас есть две таблицы, какую результирующую выборку Вы хотите получить?, приведите ее сюда. В виде таблицы, строки или столбца.
Неактивен
Видимо все-таки вложенным foreach придется делать. Древовидной структуры не сделать таблицей.
Неактивен