EDIT:
Я хочу поблагодарить @jimmix за то, что дали мне идею начать работу с моим последним сообщением, но, к сожалению, мое сообщение было отложено. Из-за отсутствия деталей.
Но вот реальный сценарий, извините, если я не очень хорошо объяснил свой вопрос.
Из моего CSV-файла у меня есть необработанные данные, затем я буду загружать с помощью функции upload () в свою базу данных phpmyadmin с именем таблицы "tbldumpbio",
См. Структуру таблицы ниже: (tbldumpbio)
Из моей таблицы tbldumpbio data у меня есть функция processTimesheet ()
Вот код:
public function processTimesheet(){
$this->load->model('dbquery');
$query = $this->db->query("SELECT * FROM tbldumpbio");
foreach ($query->result() as $row){
$dateTimeExplArr = explode(' ', $row->datetimex);
$dateStr = $dateTimeExplArr[0];
$timeStr = $dateTimeExplArr[1];
if($row->status='C/Out' and !isset($timeStr) || empty($timeStr) ){
$timeStrOut ='';
} else {
$timeStrOut = $dateTimeExplArr[1];
}
if($row->status='C/In' and !isset($timeStr) || empty($timeStr) ){
$timeStrIn ='';
} else {
$timeStrIn = $dateTimeExplArr[1];
}
$data = array(
'ID' => '',
'companyAccessID' => '',
'name' => $row->name,
'empCompID' => $row->empid,
'date' => $dateStr,
'timeIn' => $timeStrIn,
'timeOut' => $timeStrOut,
'status' => '',
'inputType' => ''
);
$this->dbquery->modInsertval('tblempbioupload',$data);
}
}
Эта функция добавит другие данные в другую таблицу с именем "tblempbioupload". Но вот результаты, которые я получаю:
Пожалуйста, смотрите следующие данные: (tblempbioupload)
Проблема:
- дата не должна дублироваться
- Временные данные должны быть добавлены, если статус «C / In»
- Должны быть добавлены данные тайм-аута, если статус «C / Out»
Ожидаемый результат должен быть примерно таким: