Я использую CodeIgniter, я получаю динамически выбираемые поля.Во втором поле выбора пользователь может выбрать статус и в соответствии с полем ввода статуса будет отображаться.
Проверьте этот снимок экрана ниже. Если пользователь нажал на Add More
, появится окно выбора ниже.
Теперь изВо втором поле выбора я выбираю Status one
, поэтому в соответствии с выбранным значением отображается поле ввода комментария.Проверьте скриншот ниже.
Если пользователю нужны дополнительные поля для идентификатора 2, пользователь нажимает add Bank
.Например, я нажал два раза и выбрал статус.так будет отображаться вот так.потому что у каждой строки есть одно поле состояния.
В пользовательском интерфейсе до сих пор не было проблем, сейчас я отправляю данные в базу данных.Но когда я отправляю данные в базу данных, я получаю ошибку Message: Uninitialized string offset: 0
, а иногда Message: Uninitialized string offset: 1
.
Проблема, возникающая во втором раскрывающемся списке, поскольку в соответствии с выбранным значением отображается поле ввода и еслиЯ выбираю Status one
, тогда поле примечания получает значение, но дата и примечание, а также причина и причина показывают ошибку offset: 1
для первой строки.
Вы можете найти мой HTML здесь: https://jsfiddle.net/7vthpbmc/
Я использую приведенную ниже логику.Код моего контроллера
public function insertProcess(){
$order = $this->input->post('pp_order[]');
$partner = $this->input->post('parner[]');
$status = $this->input->post('pp_fileStatus[]');
//$status output
Array (
[0] => 1
[1] => 2
[2] => 3
)
//it will increase and some time it will be duplicate
foreach ($status as $key) {
if (($key == 1)) {
$remark = $this->input->post('remark[]');
}
else{
$remark="";
}
if(($key == 2)){
$reasonDate = $this->input->post('reasonDate[]');
$message = $this->input->post('message[]');
}
else{
$reasonDate="";
$message="";
}
if(($key == 3)){
$reasonAmt = $this->input->post('reasonAmt[]');
$reason = $this->input->post('reason[]');
}
else{
$reasonAmt="";
$reason="";
}
}
$order_length = sizeof($order);
for ($j=0; $j < $order_length ; $j++) {
$data['row']=array(
'order' => $order[$j],
'partner' => $partner[$j],
'status' => $status[$j],
'remark'=>$remark[$j],
'reasonDate'=>$reasonDate[$j],
'message'=>$message[$j],
'reasonAmt'=>$reasonAmt[$j],
'reason'=>$reason[$j]
);
print_r($data);
$save = array(
'b_orderno' =>$data['row']['order'],
'b_partner' => $data['row']['partner'],
'b_filestatus' => $data['row']['status'],
'b_remark' => $data['row']['remark'],
'b_date' => $data['row']['reasonDate'],
'b_amt' => $data['row']['reasonAmt'],
'b_reason' => $data['row']['reason']
);
$afterxss=$this->security->xss_clean($save);
if ($afterxss)
{
$this->db->insert('tbl_bankdata',$afterxss);
$response['error'] = "true";
$response['msg'] = "Process Partner added successfully";
}else{
$response['error'] = "false";
$response['msg'] = "Sometning wrong! please check the internet connection and try again";
}
}
echo json_encode($response);
}
Может кто-нибудь помочь мне с этой проблемой?