Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
nkostya 01.06.2004 21:28 / 01.06.2004 21:31
CREATE TABLE movie_to_person ( movie_id int(10) NOT NULL default '0', person_id int(10) NOT NULL default '0', status tinyint(4) NOT NULL default '0', UNIQUE KEY ix_movie_to_person_0 (movie_id,person_id,status), KEY ix_movie_to_person_3 (person_id), KEY ix_movie_to_person_1 (movie_id,person_id), KEY ix_movie_to_person_2 (movie_id), KEY ix_movie_to_person_4 (status) ) TYPE=MyISAM; CREATE TABLE person ( person_id int(10) NOT NULL auto_increment, eng_name varchar(255) default NULL, rus_name varchar(255) binary default NULL, PRIMARY KEY (person_id), UNIQUE KEY ix_person_1 (rus_name), UNIQUE KEY ix_person_2 (eng_name), KEY ix_person_0 (person_id) ) TYPE=MyISAM;
movie_id - id фильма type - тип привязки (режиссер/актер) lang - по какому языку смотрим (rus/eng) ... $person[^MAIN:pSQL.sql[table][ SELECT person.person_id as id, person.eng_name, person.rus_name, IF(movie_to_person.movie_id IS NOT NULL,1,0) as checked FROM person ^MAIN:pSQL.left_join[from;movie_to_person;movie_to_person.person_id = person.person_id AND movie_to_person.movie_id = $movie_id && movie_to_person.status = $type] WHERE ^if($letter ne "other"){ ^MAIN:pSQL.upper[person.${lang}_name] LIKE '$letter%' }{ $alphabet[^table::load[nameless;_${lang}_alphabet.cfg]] (^alphabet.menu{ ^MAIN:pSQL.upper[person.${lang}_name] NOT LIKE '$alphabet.0%' }[AND]) OR person.${lang}_name IS NULL } ORDER BY id ASCИ потом делаю ^person.menu и генерирую XML...