(Кодовый конструктор) Результат эхо в представлении автоматическая вставка в базу данных

#codeigniter #if-statement #model-view-controller #echo

Вопрос:

Я хочу, чтобы эхо от условий if/else (НОВЫЕ, ПРЕДУПРЕЖДАЮЩИЕ, АКТИВНЫЕ, ИСТЕКШИЕ) автоматически вводилось в tr_status столбец в базе данных. Что мне делать?

изображение столбца phpmyadmin

         <td>
        <?php
        $today   = Date("Y-m-d");
        $months  = Date("Y-m-d", strtotime(' 180 days'));   
        if ($t->tr_no == NULL) {
        echo '<span style="color: #20B2AA; font-weight: bold; ">NEW</span>';
        }

        elseif ($t->tr_exp <= $today) {
        echo '<span style=" color: red; font-weight: bold; ">EXPIRED</span>';
        }

        elseif ($t->tr_exp <= $months) {
        echo '<span style="font-weight: bold; color: ORANGE;">ALERT</span>';
        }
        
        else {
        echo '<span style="font-weight: bold; color: #4DBE24;">ACTIVE</span>';
        }
        ?>    
        </td>
 

Ответ №1:

вам необходимо создать функцию внутри contoller перед загрузкой файла представления

пример :

 $today   = Date("Y-m-d");
$months  = Date("Y-m-d", strtotime(' 180 days'));   

if ($t->tr_no == NULL) {
 $object = array('tr_status' => 'NEW');
}elseif ($t->tr_exp <= $today) {
 $object = array('tr_status' => 'EXPIRED');
} else {
 $object = array('tr_status' => 'ACTIVE');
}

$this->db->insert('Table', $object);
 

Комментарии:

1. должен ли я сделать функцию внутри модели?

2. вы также можете сделать это внутри модели