За последние 24 часа нас посетил 62901 программист и 1743 робота. Сейчас ищут 893 программиста ...

Как выбрать из ячеек связанные эелементы

Тема в разделе "PHP для новичков", создана пользователем AkudJEE, 14 июн 2014.

  1. AkudJEE

    AkudJEE Активный пользователь

    С нами с:
    29 июл 2012
    Сообщения:
    29
    Симпатии:
    0
    Всем привет. Возник вопрос вывода данных из БД. А именно у меня есть таблица, назовем ее 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):
    1. foreach ($colors as $rgb=>$color){
    2. $color_db .= $rgb.",";
    3. $value_db .= $color.",";
    4. }
    $colors это массив такого вида:
    Код (Text):
    1. Array
    2. (
    3.     [666633] => 23872
    4.     [CCCCCC] => 15549
    5.     [999933] => 15520
    6.     [CCCC99] => 12036
    7.     [999966] => 10339
    8.     [996633] => 10253
    9.     [333300] => 9565
    10.     [999999] => 7263
    11.     [CCCC66] => 7009
    12.     [663333] => 5988
    13. )
    , далее $color_db я добавляю в ячейку определенной id картинки столбца Rgb, а $value_db - в Rgbvalue.
    помогите, пожалуйста, реализовать вывод картинок по релевантности цвета. Если нужны еще другие коды, то могу выложить.
     
  2. Хыиуду

    Хыиуду Активный пользователь

    С нами с:
    3 июн 2014
    Сообщения:
    618
    Симпатии:
    5
    Как вы представляете себе функцию "релевантности цвета"?
     
  3. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Да, что есть релевантность? Похожесть в процентном соотношении? Или это вы так точное соответствие описали? Если второе, то почитайте про оператор WHERE у SQL.

    Добавлено спустя 34 секунды:
    Да, если первое, то тоже WHERE, но вам надо будет разработать формулу рассчета этой самой релевантности.
     
  4. AkudJEE

    AkudJEE Активный пользователь

    С нами с:
    29 июл 2012
    Сообщения:
    29
    Симпатии:
    0
    Релевантность в моем случае будет в количественном отношении, простое сравнение чисел от большего к меньшему. У каждого цвета имеется число оно варьируется от количества цвета на картинке.
    Формулу расчета разрабатывать не надо.
     
  5. Хыиуду

    Хыиуду Активный пользователь

    С нами с:
    3 июн 2014
    Сообщения:
    618
    Симпатии:
    5
    Что-то мне подсказывает, что вам поможет order by в SQL
     
  6. AkudJEE

    AkudJEE Активный пользователь

    С нами с:
    29 июл 2012
    Сообщения:
    29
    Симпатии:
    0
    Я понимаю, что мне поможет WHERE и order by. Но этого не хватит для вывода в моем случае.
    попытаюсь объяснить на скрине http://hostingkartinok.com/show-image.php?id=7e0a458600f1e9 ... a27a3bb1bf
    Есть столбец rgb и столбец rgbvalue, в столбце rgb хранятся коды цвета в формате rgb, в столбце rgbvalue хранятся данные этих кодов в количественном отношении. И как видно из скрина, код цвета находится в разных местах ячейки, и соответсвенно его количество также в разных местах. Мне надо вывести цвет кода, что я уже сделал, но теперь нужно вывести цвет кода по количеству в порядке возрастания. Так как код цвета для каждой свой, находится в своих местах, то я не соображу как вывести код цвета по количеству.
     
  7. Хыиуду

    Хыиуду Активный пользователь

    С нами с:
    3 июн 2014
    Сообщения:
    618
    Симпатии:
    5
    У меня один совет - изменить архитектуру таблицы. С такой вы просто задолбаетесь. Точнее, насколько я вижу, уже задолбались.
     
  8. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Это же у вас что-то вроде поискового индекса? Тогда структура таблицы должна быть такой:
    Код (Text):
    1.  
    2. id картинки | код цвета | количество цвета в картинке
    Что-то я не могу представить, что вы с этим всем потом будете делать? Типа, если в картинке a почти те же цвета, что в картинке b, то и картинки "релевантны"?