codeigniter php система управления событиями.. Я хочу сделать уведомление при создании события

#php #codeigniter #notifications

#php #codeigniter #уведомления

Вопрос:

Добрый день, сэр. может кто-нибудь мне помочь, я пытаюсь написать код для уведомления. Система управления событиями. Администратор создаст событие для ученых. В процессе создания события администратор выберет, для какой стипендии предназначено мероприятие. Когда администратор завершит создание события, эти стипендиаты из этой стипендии автоматически получат свое уведомление. Моя проблема в том, что я не могу вставить event_id в свою таблицу уведомлений в базе данных. я не знаю, почему мой $this-> db-> insert_id() в $data7. $data5 и $ data6 работают

        public function create_event_scholar()
         {
            $now = date('Y-m-d');
            $start=$_POST['start_date'];
            $end=$_POST['end_date'];
            if(($start==$now)||$end==$now){
              $event_status= "Ongoing";
               
                 
                  }
                  else if(($start < $now)amp;amp;($end>$now)){
                    $event_status= "Ongoing";
                  }
                  else if(($start<$now)amp;amp;($end<$now)){
                    $event_status= "Done";
                    

                  }
                  else {
                    $event_status= "Upcoming";
                  }


            $data = array
             (
              'event_id'     =>      '',
             'event_title'   =>      $this->input->post('event_title',true),
             'event_desc'    =>      $this->input->post('event_desc',true),
             'start_date'    =>      $this->input->post("start_date",true),
             'end_date'      =>      $this->input->post("end_date",true),
             /*'event_status'   =>      $event_status,*/
            'event_sponsor' =>      $this->input->post('event_sponsor',true),
            'Semester'      =>      $this->input->post("Semester",true),
           'school_year'   =>      $this->input->post('school_year',true),
           'event_for'     =>      'Scholar',
           'start_time' =>      $this->input->post('start_time',true),
           'venue'          =>      $this->input->post('venue',true),
           'end_time'       =>      $this->input->post('end_time',true),
          'user_id'     =>      $this->input->post('user_id',true),
          'color '      =>      $this->input->post('color',true)
          );

          $sql1=    $this->db->insert('event',$data);


             $earlier = new DateTime($_POST['start_date']);
              $later = new DateTime($_POST['end_date']);

              $diff = $later->diff($earlier)->format("%a");

                $data = array(
                'security_id'     => "",  
                'event_id'        =>$this->db->insert_id(),
                'scholarship'     =>$this->input->post('scholarship',true),
                'max_attendees'   =>$this->input->post('Participants',true),
                'pre_reg'         =>$this->input->post('pre',true),
                'total_attendance'=>$diff,
                'event_duration'  =>$this->input->post('event_duration',true),
                
                );

        $sql2=$this->db->insert('event_security',$data,'event_id'); 
        
            $data3=array(
        'assign_id'  => '',
        'user_id'   =>$this->input->post('user_id',true),
        'event_id'  =>$this->db->insert_id()
        );
        $sql3=  $this->db->insert('tbl_staff_events',$data3);



         $data5 = array(
        'notification_id'   =>'',
        'subject'           =>$this->input->post('event_title',true),
        'body'              =>"There is an event", 
        'event_id'          =>$this->db->insert_id()


      );

       $this->db->insert('notification',$data5);

        $subject=$this->input->post('scholarship',true);
        $this->db->select('*');
        $this->db->from('tbl_scholar');
        $this->db->where('scholarship_id',$subject);
        $get= $this->db->get()->result_array();
        foreach ($get as $value) {
        $data6=array(
        'participants_id'   => '',
        'event_id'          =>$this->db->insert_id(),
         'user_id'          =>$value['user_id']
        );
        $this->db->insert('participants',$data6);
        }

        $data7= array(
       'sent_id'                =>'',
       'read'                   =>'0',
       'recieve'                =>'0',
       'notification_id'        =>$this->db->insert_id(),
       'participants_id'        =>$this->db->insert_id()
        );

        $this->db->insert('sent_notification',$data7);

        if($sql1===true amp;amp; $sql2===true amp;amp; $sql3 === true) 
        {
         return true;
         }
        else
        {
        return false;
        }   

        }
  

Ответ №1:

Этот код может помочь вам,

 $sql1=    $this->db->insert('event',$data);

$event_id = $this->db->insert_id();

$this->db->insert('notification',$data5);

$notification_id = $this->db->insert_id();

$this->db->insert('participants',$data6);

$participants_id = $this->db->insert_id();
  

$this->db->insert_id(); возвращает идентификатор последнего выполненного запроса