Как отобразить вывод соединений, а также вывод условия IF?

Я использую CodeIgniter. Ниже код, который я использую в модели.

Моя проблема в том, что я должен отображать вывод соединения, а также я использую еще одно условие внутри условия If, которое мне также нужно.

Что я делаю, так это извлекаю записи из нескольких таблиц и передаю имя столбца membershipForTheYear в условии IF.

membershipForTheYear output is the year range like 2018-2019.

Я разбиваю его с помощью взрыва и меняю с 2018-2019 на 2019-2020, чтобы получить результат из таблицы. Теперь я должен отобразить вывод этого и присоединяется к просмотру.

Почему я это делаю, потому что я должен отображать сборы за следующий год с выводом вышеприведенных объединений.

Должен ли я вернуть два результата или мне нужно использовать какой-то массив?

Не могли бы вы помочь мне в этом?

public function upcomingData(){
    $get_s_member = array('members.is_Approved'=>1,'members.is_status'=>1);
            $this->db->select('*');
            $this->db->from('members'); 
            $this->db->join('membership_details', 'members.member_id = membership_details.member_id','LEFT');
            $this->db->where($get_s_member);
            $this->db->group_by('membership_details.member_id'); 
            $this->db->order_by('membership_details.membership_added_date','DESC');

            $query = $this->db->get();
            $result   = $query->result();

         if ($result)
        {
          foreach ($result as $key => $value) {
          $membershipForTheYear=explode('-',$value->membershipForTheYear);
                             $addNextyear=$membershipForTheYear[1] + 1;
                             $activeBTN=$membershipForTheYear[1].'-'.$addNextyear;

                      $where = array('Duration'=>$activeBTN,'is_FeesActive'=>1);
                      $result = $this->db->where($where)
                                             ->from('bMembershipFees')
                                             ->get()
                                             ->row();
                              // print_r($result);
          }
             return $result;  
        }
        else 
        {
           return 0;  
        }


      }

Попробуйте это, объявите $response = array();$response[0] = $result;$response[1] = 'другое значение'; и вернуть $response; а в else return array('0'=>array(),'1'=>'значение по умолчанию') ;

M.Hemant 23.02.2019 07:44

@M.Hemant, где я должен добавить этот код внутри условия? Можете ли вы добавить еще немного кода

user9437856 23.02.2019 07:46

при возврате $результат; место

M.Hemant 23.02.2019 07:47

@ M.Hemant, что вы подразумеваете под другим значением? Можете ли вы объяснить мне больше?

user9437856 23.02.2019 07:49

За исключением $result, какое значение вы хотите вернуть?

M.Hemant 23.02.2019 07:51

Я должен отобразить результаты, если нет записей, а затем отобразить 0. Можете ли вы объяснить или можете добавить ответ, чтобы понять ваш код с помощью моего кода?... или мне следует добавить обновление моего кода в вопрос?

user9437856 23.02.2019 07:56

Можете ли вы показать нам таблицы sql

Stefan Avramovic 23.02.2019 09:30
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
7
37
1

Ответы 1

public function upcomingData() {
    $respose_array = array();
    $get_s_member = array('members.is_Approved' => 1, 'members.is_status' => 1);
    $this->db->select('*');
    $this->db->from('members');
    $this->db->join('membership_details', 'members.member_id = membership_details.member_id', 'LEFT');
    $this->db->where($get_s_member);
    $this->db->group_by('membership_details.member_id');
    $this->db->order_by('membership_details.membership_added_date', 'DESC');

    $query = $this->db->get();
    $result = $query->result();

    if ($result) {
        foreach ($result as $key => $value) {
            $membershipForTheYear = explode('-', $value->membershipForTheYear);
            $addNextyear = $membershipForTheYear[1] + 1;
            $activeBTN = $membershipForTheYear[1] . '-' . $addNextyear;

            $where = array('Duration' => $activeBTN, 'is_FeesActive' => 1);
            $result1 = $this->db->where($where)
                    ->from('bMembershipFees')
                    ->get()
                    ->row();
            // print_r($result);
        }
        $respose_array[0] = $result;
        $respose_array[1] = $result1;
        return $respose_array;
    } else {
        return $respose_array = array(0=>'0',1=>'0');
    }
}

Дайте мне немного времени, чтобы проверить это

user9437856 23.02.2019 08:07

Как отобразить в контроллере?

user9437856 23.02.2019 08:10

Во-первых, получаете ли вы соответствующий результат?

M.Hemant 23.02.2019 08:11

Подождите, я делюсь выводом

user9437856 23.02.2019 08:15

Я просто print_r($response_array); до возвращения, и я получил выход. Array ([0] => Array ([0] => stdClass Object (//все столбцы, которые мне нужны в соединениях) [1] => stdClass Object (//все столбцы, которые мне нужны в соединениях)) [1 ] => stdClass Object (//вывод из внутреннего запроса условия if ))

user9437856 23.02.2019 08:19

Пожалуйста, проверьте этот вывод в текстовом редакторе.. вы его поймете.. и я получаю правильный вывод. Как мне отобразить в контроллере и просмотреть?

user9437856 23.02.2019 08:21

с помощью контроллера вам нужно отправить этот массив для просмотра и просмотра, вы можете использовать цикл foreach в соответствии с вашими потребностями

M.Hemant 23.02.2019 08:53

Итак, я должен использовать два для каждой страницы просмотра или один? и как я могу отображать записи? Теперь я получаю сообщение об ошибке <p>Message: Trying to get property of non-object</p>

user9437856 23.02.2019 09:02

Давайте продолжить обсуждение в чате.

M.Hemant 23.02.2019 09:45

Другие вопросы по теме