[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сгруппировать по полю
MadMike
Имеется таблица:

code | descr | file | name
aaaa | desc1 | doc1 | name1
aaaa | desc2 | doc2 | name1
aaaa | desc3 | ppt1 | name1
bbbb | desc4 | doc3 | name2
bbbb | desc5 | ppt3 | name2

Не могу сделать вывод как на скриншоте.
Т е берем код aaa и выводим в таблицу все работы и их описания.
Затем берем следующий уникальный код и уже в другой таблице выводим работы.

Для чего это надо: чтобы пользователь визуально мог отличать работы друг от друга. Каждая работа может иметь несколько файлов.

_____________
Мы не знаем что это такое, если бы мы знали что это такое, мы не знаем что это такое!
Игорь_Vasinsky
а ч ты всё в одну таблицу напихал)) уверен, еслиб можно было полтаблицей обойтись 0- ты бы и в полтаблицы всё напихал.

сделай таблицы

names
nid - id записи
name - наименование

files
fid - id файла
file - название
descr - описание
code - код
nid - id записи из таблицы names

в итоге

select * from names n 
left join files f on f.nid = n.nid (или using(nid))


в php собираешь массив и делаешь вывод как тебе надо

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Valick
Игорь_Vasinsky, а code не смущает?


_____________
Стимулятор ~yoomoney - 41001303250491
Игорь_Vasinsky
ну хз, догадки

names

nid - id записи
name - наименование
code - код

files
fid - id файла
file - название
descr - описание
nid - id записи из таблицы names

всё остальное то же что и выше.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
MadMike
select * from names n 
left join files f on f.nid = n.nid


спасибо. буду пробовать. идею понял.
code и правда лишний если две таблицы.

code думал для связи с др таблицами юзать...

_____________
Мы не знаем что это такое, если бы мы знали что это такое, мы не знаем что это такое!
MadMike
Сделал как сказали. Застрял на выводе.

$query = $db->getQuery(true);
$query->select('n.id, n.name')
->
from('#__portfolio_works_names AS n')
->
leftJoin('#__portfolio_works_files AS f ON f.nid = n.id')
->
where("n.user_id = {$userid}");
$list = $db->setQuery($query)->loadObjectList();

foreach($list as $work)
{
????
}


Не представляю как вывести в виде таблиц как на скриншоте...

_____________
Мы не знаем что это такое, если бы мы знали что это такое, мы не знаем что это такое!
MadMike
Вот только до чего додумался:

foreach($list as $work) 
{
$t = $work->title;
$f = "<td>".$work->file_name."</td><td>".$work->descr."</td>";


$out = "<table><tr><td colspan='2'>{$t}</td></tr><tr>{$f}</tr></table><br />";
echo $out;

}


Выводит не так как надо:

Открытый урок по Информатике (презентация + сценарий)
my_article1.doc | План открытого урока по Информатике.

Открытый урок по Информатике (презентация + сценарий)
my_article2.pptx| Презентация к открытому уроку по Информатике.

Сценарий классного часа
work1-2.doc План классного часа


Нужно так:

Открытый урок по Информатике (презентация + сценарий)
my_article1.doc | План открытого урока по Информатике.
my_article2.pptx| Презентация к открытому уроку по Информатике.

Сценарий классного часа
work1-2.doc План классного часа

_____________
Мы не знаем что это такое, если бы мы знали что это такое, мы не знаем что это такое!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.