Как достичь определенного значения (целое число) с различными записями базы данных?

Это мой код, кроме связи:

$query = $handler->query('SELECT imagepath FROM table LIMIT 5');

while($r = $query->fetch()) {
extract($r, EXTR_SKIP);

echo "<img src='{$imagepath}'>";
}

Это было в основном для экспериментальных целей, и теперь я застрял. У меня есть много строк в моей таблице, и у каждой строки есть определенный путь к изображению & конкретное значение (целое число). Теперь я хочу достичь целого числа 3000 с 5 случайными или отсортированными по значению элементами, которые затем загружаются и должно отображаться подключенное изображение (через путь к изображению). «3000» может иметь допуск от + -50 до 100, и если ни одна комбинация не подходит, он должен вывести сообщение об ошибке.

У вас есть представление о том, как я могу справиться с этой проблемой?

Заранее спасибо.

0

Решение

Вне всяких сомнений, это, вероятно, лучше всего достигается с помощью двух запросов. В первом запросе получите список всех ключей изображения (идентификаторов) и их целочисленных значений. Приложение может использовать свою специальную логику для вычисления результата, который удовлетворяет вашим требованиям (пять случайных изображений, общее значение которых соответствует некоторому диапазону). Наконец, когда у вас есть идентификаторы / ключи изображений, вы можете выбрать только эти пути к изображениям.

Если у вас есть проблемы с выяснением того, как случайным образом выбрать пять изображений для заполнения, это своего рода одномерный проблема упаковки в мусорное ведро. Одним из возможных решений этих проблем является использование https://en.wikipedia.org/wiki/Greedy_algorithm.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector