Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: обходи массива для формирования строки
Объясняю структуру.Массив - это связка двух таблиц группы сущностей и сущностей отношением one to many.Как правильно обработать массив?Заранее благодарен.
Также нужно учесть что массив может быть разным может быть вообще даже пустым.
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
jonston пишет:
(a.attribute_id = 1
AND (a.attribute_id = 4 OR a.attribute_id = 5)
AND (a.attribute_id = 6 OR a.attribute_id = 7)
AND (a.attribute_id = 4 OR a.attribute_id = 5)
AND (a.attribute_id = 8))
Что это за условие? Первое выражение утверждает, что a.attribute_id должен быть равен 1, поэтому остальные никогда не выполнятся, как результат - пустое множество строк. Уверен, в логике есть ошибка (массив преобразовать к такому виду - не проблема, но нет смысла при такой постановке задачи)
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
jonston
Отправлено: 25 Июля, 2013 - 21:42:09
Посетитель
Покинул форум
Сообщений всего: 455
Дата рег-ции: Март 2011
Помог: 3 раз(а)
EuGen пишет:
массив преобразовать к такому виду - не проблема, но нет смысла при такой постановке задачи
4 таблицы prcts , prcts_attrs, attrs, grp_attrs.Связи думаю поймешь какие.Есть массив который я показал выше.Нужно выбрать продукты с учетом фильтров как здесь
rozetka[dot]com[dot]ua/ru/products/procategory/102/sor/p191r164/index.html
или здесь.
www[dot]novatek[dot]com[dot]ua/
допустим есть 3 группы атрибутов разрешение, диагональ и тип подсветки у каждой есть по несколько параметров (атрибуты) диагональ 11'', 12'', 13''... разрешение 1920X1080, 1366X769... и так далее.Вот если выбраны чекбоксы 11 и 12 диагональ и 1366X769, то получается что нужно выбрать все товары с диагоналями 11 и 12 но при этом что бы каждый имел разрешение 1366X769.Как выбирать?Возможно структура атрибутов не совсем корректна, но это условие cms не моя прихоть.Отредактировано администратором: EuGen, 25 Июля, 2013 - 22:24:31
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.