Мой косяк забыл включить мозг и полистать php manual.
на тот момент поста я ещё не весь код написал, всё решено.(спс Wooorker)
Я не один такой, мало ли кому пригодится: Задача
Выбрать записи из бд где catid и perm == переменным, дальше узнать есть ли в этом списке записи == (totalsize + 999) <= maxsize, дальше взять id тех записей которые == (totalsize + 999) <= maxsize, а также посчитать на сколько процентов заняты записи по соотношению (totalsize/maxsize)*100 и поместить это всё в один массив.
Массив:
id == это ключ(id'ник записей из бд)
Значения это посчитанные проценты(на сколько % занято место totalsize от maxsize)
Дальше из этого массива выбрать максимальный % и взять его id из массива, ну как то так.(смотрите код): код бардак но это тестово.
PHP:
скопировать код в буфер обмена
// Подключаем скъюельку: require_once ENGINE_DIR . '/classes/mysql.class.php'; $size = 999; // Запрос: $find_inst = "SELECT * FROM `tbl_proq` WHERE catid = '".$catid."' AND perm = '".$perm."'"; // Выполняем запрос: $find_inst_q = $db->sql_q($find_inst); $chkarr = array(); // создаем новый пустой массив if(($fb_list['totalsize'] + $size) <= $fb_list['maxsize']){ // Проверяем есть ли записи == (totalsize + 999) <= maxsize $chkarr[$fb_list['id']] = ($fb_list['totalsize']/$fb_list['maxsize'])*100; // узнаём на сколько % занята каждая запись и помещаем это всё в один массив. } }; if(!empty($chkarr)){ // проверяем массив на пустоту, и если не пустой получаем id максимально занятой записи. }else{ echo "Недостаточно места в данной программе";} echo $instid;
Объяснил по фасту сори за не понятки!
ВОПРОС РЕШЁН!(Отредактировано автором: 07 Января, 2015 - 11:46:27)
|