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

Форум MySQL

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: два запроса из одной таблицы с условием

Сообщения:  [1-10]    [11-20]  [21-26] 

 
 автор: Trianon   (10.07.2009 в 01:32)   письмо автору
 
   для: Valick   (10.07.2009 в 01:21)
 

Хорошо....

  Ответить  
 
 автор: Valick   (10.07.2009 в 01:21)   письмо автору
 
   для: Trianon   (09.07.2009 в 23:26)
 

более жестко
сегодня зашёл к другу у которого не был около трёх лет, пили много пива, говорили... и хотя проблем не поубавилось, но на жизнь стал смотреть чуточку оптимистичнее.... может ну его этот форум нервотрёпку айда по гостям?) Я реально понимаю зависимость от этого форума, я благодарен людям которые нашли время и силы "заварить эту кашу" - теперь это часть моей жизни, но сколько волка не корми всё равно у медведя шкура толще.....
"Давайте делать паузы в словах,
Произнося и умолкая снова,
Чтоб лучше отдавалось в головах
Значенье вышесказанного слова.
Давайте делать паузы в словах.

Давайте делать паузы в пути,
Смотреть вокруг внимательно и строго,
Чтобы случайно дважды не пройти
Одной и той неверною дорогой.
Давайте делать паузы в пути."
заранее приношу извинения за вышесказанное, но именно таким я чувствую мир в данный момент времени. С уважением Валерий.

  Ответить  
 
 автор: Trianon   (09.07.2009 в 23:26)   письмо автору
 
   для: aetern   (09.07.2009 в 23:19)
 

>Жаль, что сам к этому не пришел? :-(

Вам никто не мешал. Если не сказать более жестко.

  Ответить  
 
 автор: aetern   (09.07.2009 в 23:19)   письмо автору
 
   для: Trianon   (09.07.2009 в 23:14)
 

Гениально!
Спасибо.
Жаль, что сам к этому не пришел? :-(

  Ответить  
 
 автор: Trianon   (09.07.2009 в 23:14)   письмо автору
 
   для: aetern   (09.07.2009 в 22:16)
 

У Вас a.pos неоднозначны.
ORDER BY a.pos ASC , a.id_catalog ASC , b.pos ASC

  Ответить  
 
 автор: aetern   (09.07.2009 в 22:16)   письмо автору
 
   для: Trianon   (09.07.2009 в 21:58)
 

При ORDER BY a.pos, b.pos ASC получаю:

Детская мебель
1 - Комод пеленальный 2
Автокресла
Автокресло - переноска категория 0/0+
Детская мебель
2 - Детские кроватки 1
Автокресла
Автокресло категории 0+/1
Детская мебель
3 - Комод бельевой 3
Автокресла
Автокресло категории 0/ 1/2

При ORDER BY a.pos ASC";
Выходит:
Детская мебель
2 - Детские кроватки 1
1 - Комод пеленальный 2
3 - Комод бельевой 3
Автокресла
Автокресло - переноска категория 0/0+
Автокресло категории 0+/1
Автокресло категории 0/ 1/2

  Ответить  
 
 автор: aetern   (09.07.2009 в 22:13)   письмо автору
 
   для: Trianon   (09.07.2009 в 21:58)
 

Дамп:

--
-- Структура таблицы `goods`
--

CREATE TABLE IF NOT EXISTS `goods` (
  `id_catalog` 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_catalog`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=9 ;

--
-- Дамп данных таблицы `goods`
--

INSERT INTO `goods` (`id_catalog`, `name`, `description`, `pos`, `hide`, `id_parent`) VALUES
(1, 'Детская мебель', 'Раздел с детскими колясками', 1, 'show', 0),
(2, '2 - Детские кроватки 1', '', 2, 'show', 1),
(3, '1 - Комод пеленальный 2', '', 1, 'show', 1),
(4, '3 - Комод бельевой 3', '', 3, 'show', 1),
(5, 'Автокресла', '', 1, 'show', 0),
(6, 'Автокресло - переноска категория 0/0+', '', 1, 'show', 5),
(7, 'Автокресло категории 0+/1', '', 2, 'show', 5),
(8, 'Автокресло категории 0/ 1/2', '', 3, 'show', 5);



Запрос:

    
    $query = "SELECT a.id_catalog AS a_catalog, b.id_catalog AS b_catalog, b.id_parent AS b_parent, a.name AS a_name, b.name AS b_name
              FROM $tbl_menu_goods AS a 
              LEFT JOIN $tbl_menu_goods AS b
              ON b.hide = 'show' AND b.id_parent = a.id_catalog 
              WHERE a.hide = 'show' AND a.id_parent = 0
              ORDER BY a.pos, b.pos ASC"; // Здесь камень предкновения


Вывод результата:


$aname = ''; 
        while($result = mysql_fetch_array($sub)) 
        { 
         if($aname != $result['a_name'])  
            { 
            $aname = $result['a_name']; 
        echo "<h4><a href=\"".$root."/goods.php?id_catalog=".$result['a_catalog']."&parent=0\" 
                     class=\"menu_lnk\">".$result['a_name']."</a>
              </h4>";
             } 
        echo "<a href=\"".$root."/goods.php?id_catalog=".$result['b_catalog']."&parent=".$result['b_parent']."\" 
                     class=\"menu_lnk\">".$result['b_name']."</a>
              <br>";    
        }


Хочу получить:

Детская мебель
1 - Комод пеленальный 2
2- Детские кроватки 1
3 - Комод бельевой 3
Автокресла
Автокресло - переноска категория 0/0+
Автокресло категории 0+/1
Автокресло категории 0/ 1/2

  Ответить  
 
 автор: Trianon   (09.07.2009 в 21:58)   письмо автору
 
   для: aetern   (09.07.2009 в 21:40)
 

Вы бы привели фрагмент дампа таблицы, а заодно и результат, который получаете, и который ожидаете получить.
А то так Вас не понять.
Вы под чудесами имеете в виду одно. SQL - другое.
(Я - третье)

  Ответить  
 
 автор: aetern   (09.07.2009 в 21:40)   письмо автору
 
   для: aetern   (09.07.2009 в 20:13)
 

Неужели никто даже не намекнет как отсортировать по a.pos и b.pos?
Может есть какие-то операторы? Или надо менять весь подход?

  Ответить  
 
 автор: aetern   (09.07.2009 в 20:58)   письмо автору
 
   для: GeorgeIV   (09.07.2009 в 20:51)
 

Я это отлично понимаю. Но я не могу понять как отсортировать результат при подобном сравнении.

  Ответить  

Сообщения:  [1-10]    [11-20]  [21-26] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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