Cześć wszystkim, używam od niedawna CodeIgnitera do pewnego projektu, termin gonił a ja nie dbałem o refaktoryzację kodu i mam nauczkę bo wyszło mi coś takiego(tak wiem horror)
public function szukajsqlite($maszyna=false, $dataod=false, $datado=false, $procod=false, $procdo=false, $procestype=false, $procesStatus=null, $errorId=null)
{
if($datado==false && $dataod!=false && $maszyna==false && $procod!=false && $procdo!=false && $procestype!=false && $procesStatus==null)
{
$query = $this->db->query("SELECT * FROM Process ORDER BY date DESC limit 1");
$jest = $query->row();
return $result=$this->db->where('Process.date >=', $dataod)
->where('Process.date <=', $jest->date)
->where('Process.processId >=', $procod)
->where('Process.processId <=', $procdo)
->where('Process.processType =', $procestype)
->get( 'Process' )->result();
}
elseif($datado==false && $dataod!=false && $maszyna==false && $procod!=false && $procdo!=false && $procestype!=false && $procesStatus!=null)
{
$query = $this->db->query("SELECT * FROM Process ORDER BY date DESC limit 1");
$jest = $query->row();
return $result=$this->db->where('Process.date >=', $dataod)
->where('Process.date <=', $jest->date)
->where('Process.processId >=', $procod)
->where('Process.processId <=', $procdo)
->where('Process.processType =', $procestype)
->where('Process.processStatus =', $procesStatus)
->get( 'Process' )->result();
}
elseif($datado==false && $dataod!=false && $maszyna==false && $procod!=false && $procdo!=false && $procestype!=false)
{
$query = $this->db->query("SELECT * FROM Process ORDER BY date DESC limit 1");
$jest = $query->row();
return $result=$this->db->where('Process.date >=', $dataod)
->where('Process.date <=', $jest->date)
->where('Process.processId >=', $procod)
->where('Process.processId <=', $procdo)
->where('Process.processType =', $procestype)
->where('Process.processStatus =', $procesStatus)
->get( 'Process' )->result();
}
elseif($datado==false && $dataod!=false && $maszyna==false && $procod!=false && $procdo!=false && $procestype==false)
{
$query = $this->db->query("SELECT * FROM Process ORDER BY date DESC limit 1");
$jest = $query->row();
return $result=$this->db->where('Process.date >=', $dataod)
->where('Process.date <=', $jest->date)
->where('Process.processId >=', $procod)
->where('Process.processId <=', $procdo)
->get( 'Process' )->result();
}
elseif($datado==false && $dataod!=false && $maszyna==false && $procod!=false && $procdo==false && $procestype!=false)
{
$querydo = $this->db->query("SELECT * FROM Process ORDER BY processId DESC limit 1");
$jestdo = $querydo->row();
$query = $this->db->query("SELECT * FROM Process ORDER BY date DESC limit 1");
$jest = $query->row();
return $result=$this->db->where('Process.date >=', $dataod)
->where('Process.date <=', $jest->date)
->where('Process.processId >=', $procod)
->where('Process.processId <=', $jestdo->processId)
->where('Process.processType =', $procestype)
->get( 'Process' )->result();
}
elseif($datado==false && $dataod!=false && $maszyna==false && $procod!=false && $procdo==false && $procestype==false)
{
$querydo = $this->db->query("SELECT * FROM Process ORDER BY processId DESC limit 1");
$jestdo = $querydo->row();
$query = $this->db->query("SELECT * FROM Process ORDER BY date DESC limit 1");
$jest = $query->row();
return $result=$this->db->where('Process.date >=', $dataod)
->where('Process.date <=', $jest->date)
->where('Process.processId >=', $procod)
->where('Process.processId <=', $jestdo->processId)
->get( 'Process' )->result();
}
elseif($datado==false && $dataod!=false && $maszyna==false && $procod==false && $procdo!=false && $procestype!=false)
{
$queryod = $this->db->query("SELECT * FROM Process ORDER BY processId ASC limit 1");
$jestod = $queryod->row();
$query = $this->db->query("SELECT * FROM Process ORDER BY date DESC limit 1");
$jest = $query->row();
return $result=$this->db->where('Process.date >=', $dataod)
->where('Process.date <=', $jest->date)
->where('Process.processId >=', $jestod->processId)
->where('Process.processId <=', $procdo)
->where('Process.processType =', $procestype)
->get( 'Process' )->result();
}
elseif($datado==false && $dataod!=false && $maszyna==false && $procod==false && $procdo!=false && $procestype==false)
{
$queryod = $this->db->query("SELECT * FROM Process ORDER BY processId ASC limit 1");
$jestod = $queryod->row();
$query = $this->db->query("SELECT * FROM Process ORDER BY date DESC limit 1");
$jest = $query->row();
return $result=$this->db->where('Process.date >=', $dataod)
->where('Process.date <=', $jest->date)
->where('Process.processId >=', $jestod->processId)
->where('Process.processId <=', $procdo)
->get( 'Process' )->result();
}
elseif($datado==false && $dataod!=false && $maszyna==false && $procod==false && $procdo==false && $procestype!=false)
{
$query = $this->db->query("SELECT * FROM Process ORDER BY date DESC limit 1");
$jest = $query->row();
return $result=$this->db->where('Process.date >=', $dataod)
->where('Process.date <=', $jest->date)
->where('Process.processType =', $procestype)
->get( 'Process' )->result();
}
elseif($datado==false && $dataod!=false && $maszyna==false && $procod==false && $procdo==false && $procestype==false)
{
$query = $this->db->query("SELECT * FROM Process ORDER BY date DESC limit 1");
$jest = $query->row();
return $result=$this->db->where('Process.date >=', $dataod)
->where('Process.date <=', $jest->date)
->get( 'Process' )->result();
}
elseif($datado!=false && $dataod!=false && $maszyna!=false && $procod!=false && $procdo!=false && $procestype!=false)
{
$result=$this->db->where('Process.date >=', $dataod)
->where('Process.date <=', $datado)
->where('Process.processId >=', $procod)
->where('Process.processId <=', $procdo)
->where('Process.processType =', $procestype)
->like('machine', $maszyna)
->get( 'Process' )->result();
return $result;
}
elseif($datado!=false && $dataod!=false && $maszyna!=false && $procod!=false && $procdo!=false && $procestype==false)
{
$result=$this->db->where('Process.date >=', $dataod)
->where('Process.date <=', $datado)
->where('Process.processId >=', $procod)
->where('Process.processId <=', $procdo)
->like('machine', $maszyna)
->get( 'Process' )->result();
return $result;
}
elseif($datado!=false && $dataod!=false && $maszyna!=false && $procod==false && $procdo!=false && $procestype!=false)
{
$query = $this->db->query("SELECT * FROM Process ORDER BY processId ASC limit 1");
$jest = $query->row();
$result=$this->db->where('Process.date >=', $dataod)
->where('Process.date <=', $datado)
->where('Process.processId >=', $jest->processId)
->where('Process.processId <=', $procdo)
->where('Process.processType =', $procestype)
->like('machine', $maszyna)
->get( 'Process' )->result();
return $result;
}
elseif($datado!=false && $dataod!=false && $maszyna!=false && $procod==false && $procdo!=false && $procestype==false)
{
$query = $this->db->query("SELECT * FROM Process ORDER BY processId ASC limit 1");
$jest = $query->row();
$result=$this->db->where('Process.date >=', $dataod)
->where('Process.date <=', $datado)
->where('Process.processId >=', $jest->processId)
->where('Process.processId <=', $procdo)
->like('machine', $maszyna)
->get( 'Process' )->result();
return $result;
}
elseif($datado!=false && $dataod!=false && $maszyna!=false && $procod!=false && $procdo==false && $procestype!=false)
{
$query = $this->db->query("SELECT * FROM Process ORDER BY processId DESC limit 1");
$jest = $query->row();
$result=$this->db->where('Process.date >=', $dataod)
->where('Process.date <=', $datado)
->where('Process.processId >=', $procod)
->where('Process.processId <=', $jest->processId)
->where('Process.processType =', $procestype)
->like('machine', $maszyna)
->get( 'Process' )->result();
return $result;
}
elseif($datado!=false && $dataod!=false && $maszyna!=false && $procod!=false && $procdo==false && $procestype==false)
{
$query = $this->db->query("SELECT * FROM Process ORDER BY processId DESC limit 1");
$jest = $query->row();
$result=$this->db->where('Process.date >=', $dataod)
->where('Process.date <=', $datado)
->where('Process.processId >=', $procod)
->where('Process.processId <=', $jest->processId)
->like('machine', $maszyna)
->get( 'Process' )->result();
return $result;
}
elseif($datado!=false && $dataod!=false && $maszyna!=false && $procod==false && $procdo==false && $procestype!=false)
{
$result=$this->db->where('Process.date >=', $dataod)
->where('Process.date <=', $datado)
->where('Process.processType =', $procestype)
->like('machine', $maszyna)
->get( 'Process' )->result();
return $result;
}
elseif($datado!=false && $dataod!=false && $maszyna!=false && $procod==false && $procdo==false && $procestype==false)
{
$result=$this->db->where('Process.date >=', $dataod)
->where('Process.date <=', $datado)
->like('machine', $maszyna)
->get( 'Process' )->result();
return $result;
}
elseif($datado!=false && $dataod!=false && $maszyna==false && $procod!=false && $procdo!=false && $procestype!=false)
{
return $result=$this->db->where('Process.date >=', $dataod)
->where('Process.date <=', $datado)
->where('Process.processId >=', $procod)
->where('Process.processId <=', $procdo)
->where('Process.processType =', $procestype)
->get( 'Process' )->result();
}
elseif($datado!=false && $dataod!=false && $maszyna==false && $procod!=false && $procdo!=false && $procestype==false)
{
return $result=$this->db->where('Process.date >=', $dataod)
->where('Process.date <=', $datado)
->where('Process.processId >=', $procod)
->where('Process.processId <=', $procdo)
->get( 'Process' )->result();
}
elseif($datado!=false && $dataod!=false && $maszyna==false && $procod!=false && $procdo==false && $procestype!=false)
{
$query = $this->db->query("SELECT * FROM Process ORDER BY processId DESC limit 1");
$jest = $query->row();
return $result=$this->db->where('Process.date >=', $dataod)
->where('Process.date <=', $datado)
->where('Process.processId >=', $procod)
->where('Process.processId <=', $jest->processId)
->where('Process.processType =', $procestype)
->get( 'Process' )->result();
}
elseif($datado!=false && $dataod!=false && $maszyna==false && $procod!=false && $procdo==false && $procestype==false)
{
$query = $this->db->query("SELECT * FROM Process ORDER BY processId DESC limit 1");
$jest = $query->row();
return $result=$this->db->where('Process.date >=', $dataod)
->where('Process.date <=', $datado)
->where('Process.processId >=', $procod)
->where('Process.processId <=', $jest->processId)
->get( 'Process' )->result();
}
elseif($datado!=false && $dataod!=false && $maszyna==false && $procod==false && $procdo!=false && $procestype!=false)
{
$query = $this->db->query("SELECT * FROM Process ORDER BY processId ASC limit 1");
$jest = $query->row();
return $result=$this->db->where('Process.date >=', $dataod)
->where('Process.date <=', $datado)
->where('Process.processId >=', $jest->processId)
->where('Process.processId <=', $procdo)
->where('Process.processType =', $procestype)
->get( 'Process' )->result();
}
elseif($datado!=false && $dataod!=false && $maszyna==false && $procod==false && $procdo!=false && $procestype==false)
{
$query = $this->db->query("SELECT * FROM Process ORDER BY processId ASC limit 1");
$jest = $query->row();
return $result=$this->db->where('Process.date >=', $dataod)
->where('Process.date <=', $datado)
->where('Process.processId >=', $jest->processId)
->where('Process.processId <=', $procdo)
->get( 'Process' )->result();
}
}
Było tego więcej ale nie mogłem dodać więcej znaków, ale wyglądało podobnie jak to.
I teraz pytanie ktoś wie jak to skrócić, próbowałem używać helperów, ale coś mi nie działało, tak jak mówiłem używam CodeIgnitera od niedawna. Ktoś ma jakieś pomysły?