Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вывод данных из всех дочерних каталогов
 
 автор: сотка   (14.08.2015 в 13:53)   письмо автору
 
 

Здравствуйте подскажите пожалуйста как вывести данные из всех дочерних каталогов

таблица каталогов id_cat (AUTO_INCREMENT).....id_parent (для вложенности каталогов)


таблица с данными id_pos (AUTO_INCREMENT)..........id_cat (ключ к таблице каталогов)

  Ответить  
 
 автор: Igorek   (14.08.2015 в 15:22)   письмо автору
 
   для: сотка   (14.08.2015 в 13:53)
 

<?
SELECT 

FROM table_with_data 
WHERE id_cat IN 
(
  
SELECT id_cat 
  FROM table_with_catalogs 
  WHERE id_parent 
= {здесь ID парента для которого берем все дочерние}
)

  Ответить  
 
 автор: сотка   (14.08.2015 в 19:13)   письмо автору
 
   для: Igorek   (14.08.2015 в 15:22)
 

0 строк выдает...

  Ответить  
 
 автор: Igorek   (15.08.2015 в 15:13)   письмо автору
 
   для: сотка   (14.08.2015 в 19:13)
 

необходимо больше информации для анализа.
Приведите дампы обоих таблиц и желаемый результат

  Ответить  
 
 автор: сотка   (15.08.2015 в 19:41)   письмо автору
 
   для: Igorek   (15.08.2015 в 15:13)
 

CREATE TABLE IF NOT EXISTS `system_android_catalog` (
  `id_apk` int(11) NOT NULL AUTO_INCREMENT,
  `name` tinytext NOT NULL,
  `description` text NOT NULL,
  `pos` int(11) NOT NULL DEFAULT '0',
  `hide` enum('show','hide') NOT NULL DEFAULT 'show',
  `id_parent` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id_apk`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=47 ;

(1, 'Игры', 'Андроид игры скачать бесплатно по прямым ссылкам без регистрации и смс', 1, 'show', 0),
(2, 'Аркады', '', 1, 'show', 1),
(3, 'Викторины', '', 2, 'show', 1),
(4, 'Гонки', '', 3, 'show', 1),
(5, 'Казино', '', 4, 'show', 1),
(6, 'Казуальные', '', 5, 'show', 1),
(7, 'Приключения', '', 7, 'show', 1),
(8, 'Ролевые', '', 8, 'show', 1),
(9, 'Симуляторы', '', 10, 'show', 1),
(10, 'Спортивные', '', 11, 'show', 1),
(11, 'Стратегии', '', 12, 'show', 1),
(12, 'Экшен', '', 13, 'show', 1),
(13, 'Карточные / Настольные', '', 14, 'show', 1),
(14, 'Приложения', 'Скачать бесплатно андроид приложения по прямым ссылкам без регистрации и смс', 2, 'show', 0),
(15, 'Бизнес', '', 1, 'show', 14),
(16, 'Здоровье / Фитнес', '', 2, 'show', 14),
(17, 'Инструменты', '', 3, 'show', 14),
(18, 'Медицина', '', 4, 'show', 14),
(19, 'Музыка / Аудио', '', 5, 'show', 14),
(20, 'Мультимедиа / Видео', '', 6, 'show', 14),
(21, 'Образование', '', 7, 'show', 14),
(22, 'Персонализация', '', 8, 'hide', 14),
(23, 'Погода', '', 9, 'show', 14),
(43, 'Книги и справочники', '', 23, 'show', 14),
(25, 'Путешествия', '', 11, 'show', 14),
(26, 'Работа', '', 12, 'show', 14),
(27, 'Развлечения', '', 13, 'show', 14),
(28, 'Разное', '', 14, 'hide', 14),
(29, 'Связь', '', 15, 'show', 14),
(30, 'Социальные', '', 16, 'show', 14),
(31, 'Спорт', '', 17, 'show', 14),
(32, 'Стиль жизни', '', 18, 'show', 14),
(33, 'Транспорт', '', 19, 'show', 14),
(34, 'Финансы', '', 20, 'show', 14),
(35, 'Фотография', '', 21, 'show', 14),
(36, 'Оформление', 'Приложения для уникального оформления скачать бесплатно по прямым ссылкам без регистрации и смс ', 3, 'show', 0),
(37, 'Живые обои', '', 1, 'show', 36),
(38, 'Виджеты', '', 2, 'show', 36),
(39, 'Библиотека', '', 4, 'show', 0),
(40, 'Книги', '', 1, 'show', 39),
(41, 'Справочники', '', 2, 'show', 39),
(42, 'Покупки', '', 22, 'show', 14),
(44, 'Другое', '', 24, 'show', 14),
(45, 'Обучающие', '', 6, 'show', 1),
(46, 'Пазлы', '', 9, 'show', 1);






INSERT INTO `system_android_catalog` (`id_apk`, `name`, `description`, `pos`, `hide`, `id_parent`) VALUES......
[/code]


CREATE TABLE IF NOT EXISTS `system_android_position` (
  `id_position` int(11) NOT NULL AUTO_INCREMENT,
  `name` tinytext NOT NULL,
  `autor` tinytext NOT NULL,
  `site` tinytext NOT NULL,
  `email` tinytext NOT NULL,
  `boby` text NOT NULL,
  `system` text NOT NULL,
  `version` text NOT NULL,
  `putdate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `apk` tinytext NOT NULL,
  `icon` tinytext NOT NULL,
  `pollnumber` int(11) NOT NULL,
  `pollmark` int(11) NOT NULL,
  `hide` enum('show','hide') NOT NULL DEFAULT 'show',
  `pos` int(11) NOT NULL DEFAULT '0',
  `id_apk` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id_position`),
  FULLTEXT KEY `name` (`name`,`boby`),
  FULLTEXT KEY `name_2` (`name`,`boby`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=99 ;


INSERT INTO `system_android_position` (`id_position`, `name`, `autor`, `site`, `email`, `boby`, `system`, `version`, `putdate`, `apk`, `icon`, `pollnumber`, `pollmark`, `hide`, `pos`, `id_apk`)

  Ответить  
 
 автор: сотка   (15.08.2015 в 19:50)   письмо автору
 
   для: Igorek   (15.08.2015 в 15:13)
 

Нужно на выходе :

находясь в корневом каталоге вывести файлы относящиеся к корневому и дочерним каталогам !

то есть файлы принадлежащие к каталогам

(1, 'Игры', 'Андроид игры скачать бесплатно по прямым ссылкам без регистрации и смс', 1, 'show', 0),
(2, 'Аркады', '', 1, 'show', 1),
(3, 'Викторины', '', 2, 'show', 1),
(4, 'Гонки', '', 3, 'show', 1),
(5, 'Казино', '', 4, 'show', 1),
(6, 'Казуальные', '', 5, 'show', 1),
(7, 'Приключения', '', 7, 'show', 1),
(8, 'Ролевые', '', 8, 'show', 1),
(9, 'Симуляторы', '', 10, 'show', 1),
(10, 'Спортивные', '', 11, 'show', 1),
(11, 'Стратегии', '', 12, 'show', 1),
(12, 'Экшен', '', 13, 'show', 1),
(13, 'Карточные / Настольные', '', 14, 'show', 1),

  Ответить  
 
 автор: сотка   (15.08.2015 в 20:04)   письмо автору
 
   для: сотка   (15.08.2015 в 19:50)
 

Если так сделать ? это нагрузка большая наверное....я что то не уверен....


SELECT * FROM system_android_catalog JOIN system_android_position WHERE system_android_catalog .id_apk=system_android_position .id_position ;


правда тут еще нужно выборку сделать///

  Ответить  
 
 автор: Igorek   (16.08.2015 в 12:54)   письмо автору
 
   для: сотка   (15.08.2015 в 19:50)
 

Каким образом файл связан с каталогом? Через свойство system_android_position.id_apk ?

  Ответить  
 
 автор: сотка   (16.08.2015 в 14:16)   письмо автору
 
   для: Igorek   (16.08.2015 в 12:54)
 

Да !

  Ответить  
 
 автор: Igorek   (16.08.2015 в 14:51)   письмо автору
 
   для: сотка   (16.08.2015 в 14:16)
 

Спросил, потому что смутил ваш запрос:
WHERE system_android_catalog .id_apk=system_android_position .id_position

Тогда так:
<?
SELECT 
*
FROM system_android_position
WHERE id_apk IN 
(
  
SELECT id_apk 
  FROM system_android_catalog
  WHERE id_apk 
OR id_parent 1
)

  Ответить  
 
 автор: сотка   (16.08.2015 в 16:14)   письмо автору
 
   для: Igorek   (16.08.2015 в 14:51)
 

Спасибо то что надо !

  Ответить  
 
 автор: сотка   (16.08.2015 в 17:12)   письмо автору
 
   для: Igorek   (16.08.2015 в 14:51)
 

А не подскажите условие ?! каким обзазом выводить все файлы дочерних каталогов если мы находимся только в корневом каталоге ?

То есть у меня сейчас стоит

  if(empty($_GET['id_apk']))
    {                          

//выводим список файлов принадлежащие каждой из категорий
........
..........
}
условие чтобы выводилось чисто в корневом каталоге
{
$query = "SELECT * 
FROM system_android_position 
WHERE id_apk IN ( 
  SELECT id_apk  
  FROM system_android_catalog 
  WHERE id_apk =$_GET[id_apk] OR id_parent =$_GET[id_apk]

)ORDER BY RAND() LIMIT 12 " ;

}

  Ответить  
 
 автор: Igorek   (16.08.2015 в 20:41)   письмо автору
 
   для: сотка   (16.08.2015 в 17:12)
 

Вообще не понял вопрос.
вам нужно "чтобы выводилось чисто в корневом каталоге " ? т.е. файлы принадлежащие только одному конкретному каталогу?
если да, то:
<?
SELECT 

FROM system_android_position 
WHERE id_apk 
1

если и дочерние нужны, то запрос уже у вас есть такой. В общем, сформулируйте яснее

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования