parserALT
Страницы форума: ← Назад | 1 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 600 | Дальше →

Как элегантнее решить такую задачу?

#1Alexei
08.09.10 11:35
www.parser.ru → | ответить → | в избранное →

Как элегантнее решить такую задачу?

Есть таблица "размер цена". Бывает, что одна цена у нескольких размеров. Соответственно, чтобы не плодить записи, нужно объеденить вывод "размер 1, 2 цена - 1000. размер 3, 4 - 2000"

Я сделал так, может есть ещё варианты решения?
$t1[^table::create{size	price
1	1000
2	1000
3	2000
4	2000
}]

$h1[^t1.hash[price][$.distinct(1)]]

^h1.foreach[price;size]{
	$t2[^t1.select($t1.price == $price)]
	Size: ^t2.menu{$t2.size}[, ] Price: $price
}[<br/>]
#2Misha v.3
→ Alexei [#1] | 08.09.10 12:02
www.parser.ru → | ответить → | в избранное →

надо трижды подумать, прежде чем так делать

т.к. посетителю может быть очень неудобно глазами искать интересующий его размер.

P.S. но ещё есть $.distinct[tables]
#3Alexei
→ Misha v.3 [#2] | 08.09.10 12:09
www.parser.ru → | ответить → | в избранное →

С т.з. юзабилити - там это вписывается

А вот если наоборот - получается громоздко

с $.distinct[tables] сделал так
$h1[^t1.hash[price][$.distinct[tables]]]

^h1.foreach[price;sizes]{
	Size: ^sizes.menu{$sizes.size}[, ] Price: $price
}[<br/>]
Страницы форума: ← Назад | 1 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 600 | Дальше →