Привет всем. В общем попалась такая задача сегодня, сразу скажу - с Joomla не связанная Нужно сделать базу данных для хранения книжек и их авторов. Затем нужно вывести на страницу книги, но только те, у которых несколько авторов. Решил вот так: Код (PHP): CREATE DATABASE books_catalog; USE books_catalog; CREATE TABLE authors(id INT PRIMARY KEY AUTO_INCREMENT NOT NULL, name VARCHAR(150) NOT NULL); CREATE TABLE books(id INT PRIMARY KEY AUTO_INCREMENT NOT NULL, title VARCHAR(255) NOT NULL, year INT(4)); CREATE TABLE books_authors(id INT PRIMARY KEY AUTO_INCREMENT NOT NULL, book_id INT(8), author_id INT(8)); INSERT INTO authors(name) VALUES('Ivan'); INSERT INTO authors(name) VALUES('Vasya'); INSERT INTO authors(name) VALUES('Petya'); INSERT INTO books(title,year) VALUES('Book nomber one',2003); INSERT INTO books(title,year) VALUES('Second book',1960); INSERT INTO books(title,year) VALUES('Book three',1988); INSERT INTO books_authors(book_id,author_id) VALUES(1,2); INSERT INTO books_authors(book_id,author_id) VALUES(2,1); INSERT INTO books_authors(book_id,author_id) VALUES(2,2); INSERT INTO books_authors(book_id,author_id) VALUES(2,3); INSERT INTO books_authors(book_id,author_id) VALUES(3,1); INSERT INTO books_authors(book_id,author_id) VALUES(3,3); Код (PHP): define('HOST','хост'); define('LOGIN','логин'); define('PASS','пароль'); define('DBNAME','имя_таблицы'); $link = mysql_connect(HOST,LOGIN,PASS); //$link ? print('Соединение с сервером БД: ОК <br />') : print('Соединение с сервером БД: Ошибка! '.mysql_error().'<br /'); $select_db = mysql_select_db(DBNAME, $link); //$select_db ? print('Выбор БД: ОК <br />') : print("Выбор БД: Ошибка! mysql_error() <br />"); $query = " SELECT DISTINCT(book_id) FROM books_authors HAVING book_id > 1"; $result = mysql_query($query); //$result ? print('Ищем повторяющиеся ID книжек: ОК <br />') : print('Ищем повторяющиеся ID книжек: Ошибка! '.mysql_error().'<br /'); $rows = mysql_num_rows($result); for($i=0; $i<$rows; $i++){ $row = mysql_fetch_row($result); $book_id = $row[0]; $query2 = " SELECT title,year FROM books WHERE id=$book_id"; $books = mysql_query($query2); //$books ? print('Смотрим инфу по книжке: ОК <br />') : print('Смотрим инфу по книжке: Ошибка! '.mysql_error().'<br /'); $rows_books = mysql_num_rows($books); for($a=0;$a<$rows_books;$a++){ $book = mysql_fetch_assoc($books); echo '<p>Название: '.$book["title"].'<br />Год написания: '.$book["year"].'</p>'; } } Но вот, судя по слухам, выполнять один запрос с выводом результата через цикл внутри другого цикла - это плохой тон. А вот как по другому сделать - не знаю . Может подскажет кто своё видение реализации??