|
|
|
|
|
для: Valick
(10.07.2009 в 01:21)
| | Хорошо.... | |
|
|
|
|
|
|
|
для: Trianon
(09.07.2009 в 23:26)
| | более жестко
сегодня зашёл к другу у которого не был около трёх лет, пили много пива, говорили... и хотя проблем не поубавилось, но на жизнь стал смотреть чуточку оптимистичнее.... может ну его этот форум нервотрёпку айда по гостям?) Я реально понимаю зависимость от этого форума, я благодарен людям которые нашли время и силы "заварить эту кашу" - теперь это часть моей жизни, но сколько волка не корми всё равно у медведя шкура толще.....
"Давайте делать паузы в словах,
Произнося и умолкая снова,
Чтоб лучше отдавалось в головах
Значенье вышесказанного слова.
Давайте делать паузы в словах.
Давайте делать паузы в пути,
Смотреть вокруг внимательно и строго,
Чтобы случайно дважды не пройти
Одной и той неверною дорогой.
Давайте делать паузы в пути."
заранее приношу извинения за вышесказанное, но именно таким я чувствую мир в данный момент времени. С уважением Валерий. | |
|
|
|
|
|
|
|
для: aetern
(09.07.2009 в 23:19)
| | >Жаль, что сам к этому не пришел? :-(
Вам никто не мешал. Если не сказать более жестко. | |
|
|
|
|
|
|
|
для: 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 | |
|
|
|
|
|
|
|
для: 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 | |
|
|
|
|
|
|
|
для: 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 | |
|
|
|
|
|
|
|
для: aetern
(09.07.2009 в 21:40)
| | Вы бы привели фрагмент дампа таблицы, а заодно и результат, который получаете, и который ожидаете получить.
А то так Вас не понять.
Вы под чудесами имеете в виду одно. SQL - другое.
(Я - третье) | |
|
|
|
|
|
|
|
для: aetern
(09.07.2009 в 20:13)
| | Неужели никто даже не намекнет как отсортировать по a.pos и b.pos?
Может есть какие-то операторы? Или надо менять весь подход? | |
|
|
|
|
|
|
|
для: GeorgeIV
(09.07.2009 в 20:51)
| | Я это отлично понимаю. Но я не могу понять как отсортировать результат при подобном сравнении. | |
|
|
|
|