Всем привет. Возник вопрос вывода данных из БД. А именно у меня есть таблица, назовем ее Table, далее в этой таблице есть столбцы Rgb и Rgbvalue. Rgb и Rgbvalue привязаны к каждой id картинке. В Rgb столбце заполнены данные кода цвета: 666633,999933,CCCC99,999966,CCCCCC,996633,333300,CCCC66,999999,663333 Во Rgbvalue - количество цвета в картинке, в цифрах: 25137,16275,12498,12346,11120,10506,9674,7137,6799,6201 То есть код цвета 666633 равен 25137 в этой картинке, встречается такой же цвет в других картинках на сайте, но количество ее уже равно, к примеру 4586, то есть цвет 666633 в разных картинках встречается по разному, и в разных элементах массива. Вывод картинок по коду цвета я сделал, теперь хотелось бы вывести картинки по релевантности цвета. Код (Text): foreach ($colors as $rgb=>$color){ $color_db .= $rgb.","; $value_db .= $color.","; } $colors это массив такого вида: Код (Text): Array ( [666633] => 23872 [CCCCCC] => 15549 [999933] => 15520 [CCCC99] => 12036 [999966] => 10339 [996633] => 10253 [333300] => 9565 [999999] => 7263 [CCCC66] => 7009 [663333] => 5988 ) , далее $color_db я добавляю в ячейку определенной id картинки столбца Rgb, а $value_db - в Rgbvalue. помогите, пожалуйста, реализовать вывод картинок по релевантности цвета. Если нужны еще другие коды, то могу выложить.
Да, что есть релевантность? Похожесть в процентном соотношении? Или это вы так точное соответствие описали? Если второе, то почитайте про оператор WHERE у SQL. Добавлено спустя 34 секунды: Да, если первое, то тоже WHERE, но вам надо будет разработать формулу рассчета этой самой релевантности.
Релевантность в моем случае будет в количественном отношении, простое сравнение чисел от большего к меньшему. У каждого цвета имеется число оно варьируется от количества цвета на картинке. Формулу расчета разрабатывать не надо.
Я понимаю, что мне поможет WHERE и order by. Но этого не хватит для вывода в моем случае. попытаюсь объяснить на скрине http://hostingkartinok.com/show-image.php?id=7e0a458600f1e9 ... a27a3bb1bf Есть столбец rgb и столбец rgbvalue, в столбце rgb хранятся коды цвета в формате rgb, в столбце rgbvalue хранятся данные этих кодов в количественном отношении. И как видно из скрина, код цвета находится в разных местах ячейки, и соответсвенно его количество также в разных местах. Мне надо вывести цвет кода, что я уже сделал, но теперь нужно вывести цвет кода по количеству в порядке возрастания. Так как код цвета для каждой свой, находится в своих местах, то я не соображу как вывести код цвета по количеству.
У меня один совет - изменить архитектуру таблицы. С такой вы просто задолбаетесь. Точнее, насколько я вижу, уже задолбались.
Это же у вас что-то вроде поискового индекса? Тогда структура таблицы должна быть такой: Код (Text): id картинки | код цвета | количество цвета в картинке Что-то я не могу представить, что вы с этим всем потом будете делать? Типа, если в картинке a почти те же цвета, что в картинке b, то и картинки "релевантны"?