Здравствуйте.
Возникла такая проблема. Есть массив вида:
$big_arr[0][0]="1";
$big_arr[0][1]="2012-03-13 20:10:00";
$big_arr[0][2]="параметр";
$big_arr[1][0]="2";
$big_arr[1][1]="2012-03-13 20:12:00";
$big_arr[1][2]="параметр";
$big_arr[1][0]="3";
$big_arr[1][1]="2012-03-13 21:15:00";
$big_arr[1][2]="параметр";
В цикле я разбираю массив и пишу в разные таблицы БД. Например:
$big_arr[0][0]="1" - значит пишу в таблицу tab1,
$big_arr[1][0]="2" - значит пишу в таблицу tab2 и т.д.
Все таблицы (tab1, tab2 и т.п.) вида:
ID сеанса | Дата/время события | Параметр
При этом, если в одном из массивов вложенных в массив $big_arr есть значение даты/времени больше некого, то я должен для данной строки завести новый сеанс, т.е. изменить ID сеанса и последующие строки писать с ним.
Иными словами:
иду по массиву $big_arr
PHP:
скопировать код в буфер обмена
foreach($big_array as $value){ while($validtime>$value[1]){ //пока некое дата/время больше имеющегося, новый сеанс не нужен $newsess = 0; } if($validtime<$value[1]){ //если меньше, то нужен $newsess = 1; $newstarttime = $value[1]; } if($newsess==1){ //завожу новый сеанс, получаю его id, передаю его в функцию записи данных $sess = new Sessions; $sess->User_ID = $user_info->ID; $sess->Start_Time = $newstarttime; $sess->save(); $sid = $sess->Session_ID; $this->dataInsert($value, $sid); } else{ $this->dataInsert($value, $sid); } }
Но данный код не работает. Никаких записей в бд не добавляется. В чем может быть проблема. Заранее спасибо.
|