Обновить столбец таблицы с помощью codeigniter - PullRequest
0 голосов
/ 26 июня 2018

Привет, ребята. Я пытаюсь обновить столбец таблицы с помощью codeigniter, это мой код ниже.

Контроллер:

function search2()
{
  if ($_POST) {
      $Interno=$_POST['Interno'];
  }else{
    $Interno = '';
  }
  $this->db->select('empleados.Interno, empleados.Curp, empleados.Nombre, empleados.A_Paterno, empleados.A_Materno, cuentas.Clabe, cuentas.Banco, cuentas.Observaciones, cuentas.Status');
$this->db->from('empleados');
$this->db->join('cuentas',"cuentas.Interno = empleados.Interno AND cuentas.Status !='I'", 'Left');
$this->db->where('empleados.Interno', $Interno);
$q = $this->db->get();
$data = array();
$data['records'] = $q->result_array();
$this ->load -> view('main/indice', $data);  
}

function update_Status() 
        {
    $Interno= $this->input->post('Interno');
    $data = array(
    'Status' => $this->input->post('Inactivo')
       );
      if($this->consultas_M->update_Status($Interno, $data))
     {
       echo " update successful...";
       }
    else
      {
  echo "update not successful...";
     }  
   }

С помощью функции search2 я отображаю результаты из двух таблиц (что может быть проблемой), затем я хочу изменить статус cuentas таблицы на «I» (неактивно)по умолчанию это «A»).Поэтому я просто хочу обновить этот столбец статуса.Но это ничего не делает.Это моя модель

function update_Status($Interno,$data)
    {
   $this->db->where('Interno', $Interno);
   $this->db->update('cuentas', $data);
    }

'Interno' - это идентификатор из таблицы, а также имя входа, где отображается этот идентификатор.Любая помощь будет оценена

1 Ответ

0 голосов
/ 26 июня 2018

Надеюсь, это поможет вам:

Ваш метод контроллера update_Status должен быть таким:

function update_Status() 
{
    $Interno = $this->input->post('Interno');
    $Status = $this->input->post('Inactivo');

    $data['status'] = ! empty($Status) ? $Status : 'I';
    if ( ! empty($Interno))
    {
        $updated = $this->consultas_M->update_Status($Interno, $data);
        if($updated)
        {
           echo " update successful...";
        }
        else
        {
            echo "update not successful...";
        }  
    }
    else
    {
        echo "Interno  not found ...";
    }    
}

И, кроме того, вы должны вернутьсяtrue или false из метода update_Status, в зависимости от того, есть ли какие-либо изменения в вашей таблице или нет

Примечание : $this->db->affected_rows(): отображает количествозатронутые строки при выполнении запросов типа «запись» (вставка, обновление и т. д.).

Ваш метод модели update_Status должен выглядеть следующим образом:

function update_Status($Interno,$data)
{
   $this->db->where('Interno', $Interno);
   $this->db->update('cuentas', $data);
   if ( $this->db->affected_rows() > 0 )
   {
      return TRUE;
   }
   else 
   {
     return FALSE;
   }
   /* OR you can simply return like this 
     return $this->db->update('cuentas', $data);
   */
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...