Как отобразить значение, которое ближе всего или равно результатам расчета системы с базой данных? - PullRequest
0 голосов
/ 20 сентября 2018

Я использую Framework CI

У меня есть две таблицы в базе данных.Первая таблица - «А», а вторая - «В».В таблице «A» есть столбец «DIAMETER», содержащий числа, полученные из расчета системы пользователем.

В то время как в таблице «B» есть столбец «STANDARD», содержащий числа, которые имеютбыл введен администратором.

Тогда как мне отобразить число "СТАНДАРТ", когда число "ДИАМЕТР", рассчитанное пользователем, приближается или равно "СТАНДАРТУ"?

In the database

Таблица A, столбец Диаметр 2,5, 3,8, 5,6

Таблица B, столбец Стандарт 3, 3,5, 4, 5, 6,

Если результат вычисления диаметра 3,8 является результатомбудет увеличено до 4, если результат равен диаметру 5,6, то результат будет увеличен до 6. Результаты, которые я ожидал, верхние цифры, которые приблизились к стандартному номеру или совпадают со стандартным числом

Моя модель

public function get_standar(){
$this->db->order_by('standar', 'ASC');
$this->db->limit('0');
return $this->db->get('B')->result();

}

My View

<div class="form-group has-success">
<label>Diameter</label>
<div class="form-group input-group">
    <input class="form-control" name="diameter" type="text" value="<?php echo number_format($getdata->diameter,2);?>" readonly="">
    <span class="input-group-addon">mm</span>
</div>
<label>Standar</label>
<select class="form-control" name="standar" id="standar">
<?php foreach ($standar as $stand) {?>
    <option <?php echo $standar_selected == $stand->id_standar ? 'selected="selected"' : '' ?> value="<?php echo $stand->id_standar ?>">
        <?php if ($getdata->diameter >= $stand->standar) { echo $stand->standar ;} ?>
    </option>
<?php }?>
</select>

введите описание изображения здесь введите описание изображения здесь

1 Ответ

0 голосов
/ 20 сентября 2018

Следующий запрос возвращает минимальный стандартный диаметр, больший или равный вычисленному вами диаметру:

$diameter = 3.8;

$sql = "SELECT MIN(column_standard), {other columns you need}
FROM table B 
WHERE column_standard >= $diameter";

$this->db->query($sql);

В результате вышеприведенного запроса возвращается 4.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...