Сортировать результат запроса, установленные несколькими критериямиPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Сортировать результат запроса, установленные несколькими критериями

Сообщение Anonymous »

Я не могу придумать какое -либо здравомыслящее решение для этой проблемы, не прибегая к нелепым комбинациям пользовательских функций. Может быть, вы можете дать немного свежей мысли об этом.Array
(
[0] => Array
(
[vid_id] => 420037
[vid_rating] => 2.93827
[vid_quality] => 2
[vid_special] => 1
[vid_weight] => 0
[vid_position] => 0
[vid_position_end] => 0
)

[1] => Array
(
[vid_id] => 420040
[vid_rating] => 3
[vid_quality] => 1
[vid_special] => 1
[vid_weight] => 0
[vid_position] => 0
[vid_position_end] => 0
)

[2] => Array
(
[vid_id] => 426455
[vid_rating] => 3.25581
[vid_quality] => 2
[vid_special] => 0
[vid_weight] => 5
[vid_position] => 1
[vid_position_end] => 2
)

[3] => Array
(
[vid_id] => 429804
[vid_rating] => 3
[vid_quality] => 2
[vid_special] => 0
[vid_weight] => 0
[vid_position] => 0
[vid_position_end] => 0
)

[4] => Array
(
[vid_id] => 420848
[vid_rating] => 2.94444
[vid_quality] => 2
[vid_special] => 0
[vid_weight] => 3
[vid_position] => 1
[vid_position_end] => 2
)

[5] => Array
(
[vid_id] => 420859
[vid_rating] => 2.73077
[vid_quality] => 2
[vid_special] => 0
[vid_weight] => 4
[vid_position] => 1
[vid_position_end] => 2
)

[6] => Array
(
[vid_id] => 420524
[vid_rating] => 2.41379
[vid_quality] => 2
[vid_special] => 0
[vid_weight] => 5
[vid_position] => 2
[vid_position_end] => 2
)

[7] => Array
(
[vid_id] => 419810
[vid_rating] => 3.13393
[vid_quality] => 1
[vid_special] => 0
[vid_weight] => 0
[vid_position] => 0
[vid_position_end] => 0
)

[8] => Array
(
[vid_id] => 419851
[vid_rating] => 2.97802
[vid_quality] => 1
[vid_special] => 0
[vid_weight] => 5
[vid_position] => 1
[vid_position_end] => 2
)

[9] => Array
(
[vid_id] => 419843
[vid_rating] => 2.95349
[vid_quality] => 1
[vid_special] => 0
[vid_weight] => 3
[vid_position] => 1
[vid_position_end] => 2
)

[10] => Array
(
[vid_id] => 419838
[vid_rating] => 2.73529
[vid_quality] => 1
[vid_special] => 0
[vid_weight] => 4
[vid_position] => 1
[vid_position_end] => 2
)

)
< /code>
Этот массив является результатом этого запроса mysql < /p>
SELECT
vid_id,
vid_rating,
vid_quality,
vid_special,
vid_weight,
vid_position,
vid_position_end
FROM versions
WHERE vid_movid = 'xxxxx' AND vid_status = 1
ORDER BY vid_special DESC, vid_quality DESC, vid_rating DESC
< /code>
Это выводит список ссылок на веб -сайт (фактический столбец ссылки удален для простоты), которые необходимо поместить в очень конкретный заказ. Делать то, что мне нужно сделать, возможно с несколькими профсоюзными запросами .... но я действительно не хочу прибегать к этому, так как стоимость будет очень высокой, поэтому я решил, что манипулирование массивами будет проще. < /P>
мне нужно избирательно извлечь несколько ссылок из этого массива и наклеить их поверх массива в определенном порядке. < /p>
  • Ссылки, отмеченные VID_POSION, и
    vid_position_end обозначают диапазон, который будет занимать эта группа. Это означает, что
    Если есть несколько ссылок, отмеченных
    с этими позициями, только 2 будут
    , выдвинутые вверх, если диапазон
    1-2. Если это 1-3, то положения в верхних 3
    будут заняты. > Ссылки должны быть отсортированы. Таким образом, если есть
    5 разных ссылок, с 5 различными весами
    в диапазоне положения 1-2,
    только в верхних 2 весах будут выдвинуты
    вверх. Оставшиеся 3 будут
    остаться там, где они находятся. < /P>
    < /li>
    Существуют разные группы ссылок. Существует группа 1-2,
    и 3-3. Первая группа занимает
    первые 2 позиции, а в моем примере
    имеет 3 весовых категории. Другая группа
    занимает третью позицию, и только
    имеет 1 вес -классы. < /p>
    < /li>
    Заказ должен быть независимым .
    Если в группе 1-2
    нет ссылок, но есть ссылки в 3-3,
    это означает, что 3-3 сгруппированные ссылки будут отображаться в первом положение.


Подробнее здесь: https://stackoverflow.com/questions/224 ... l-criteria
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Репликация Excel COUNTIFS с несколькими критериями из одного набора данных, используемыми для значений в другом наборе д
    Anonymous » » в форуме Python
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Используйте Http-клиент CakePHP с критериями поиска API rest Magento2
    Anonymous » » в форуме Php
    0 Ответы
    45 Просмотры
    Последнее сообщение Anonymous
  • Используйте Http-клиент CakePHP с критериями поиска API rest Magento2
    Anonymous » » в форуме Php
    0 Ответы
    37 Просмотры
    Последнее сообщение Anonymous
  • Lambda/Linq с критериями для нескольких ключевых слов.
    Anonymous » » в форуме C#
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Проблема, связанная с критериями спецификации, строитель запросов в Spring Boot
    Anonymous » » в форуме JAVA
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»