Как вставить построчное значение в одну отправку - PullRequest
0 голосов
/ 26 февраля 2019

Это мой вид. Страница

enter image description here

Это динамические поля Имя теста и единицы измерения из таблицы. Мне нужно вставить имя теста и Результат и Нормальныйзначение также Единица измерения.

Мой контроллер

<code> $patient_id = $this->input->post('patient_id');
                        $doctor_id = $this->input->post('doctor_id');
                        $prescription_id = $this->input->post('prescription_id'); 
                        $lab_result =$this->input->post('lab_result');
                        $lab_test =$this->input->post('lab_test');
                        $units =$this->input->post('units');
                       $normal_value =$this->input->post('normal_value');
                       $cat_id = $this->input->post('cat_id');

     for($i=0; $i<count($prescription_id); $i++)
           {
                    $labreport[] = array(
                       'patient_id' => $patient_id[$i],
                       'doctor_id' => $doctor_id[$i],
                       'prescription_id' =>$prescription_id[$i],
                       'lab_result'   => $lab_result[$i],
                       'lab_test'     => $lab_test[$i],
                       'units'        =>  $units[$i],
                       'normal_value' => $normal_value[$i],
                       'cat_id' => $cat_id, );
                      //echo '<pre>'; print_r($labreport); '
';выход;} $ stringlabreport = json_encode ($ labreport);$ This-> db-> вставить ( 'patient_lab_report', $ stringlabreport);if ($ this-> db-> disabled_rows ()) {return true;} else {return false;} $ this-> session-> set_flashdata ('message', 'Лабораторный отчет успешно добавлен');перенаправления ( 'laboratory_report / все');=========================

А это мой код просмотра

 <tr>   
                            <td><input type="hidden" value="<?php echo $data->name; ?>"name="lab_test[]"><?php echo $data->name; ?></td>                        
                            <td><input type="text" value=""        name="lab_result[]" class="form-control"></td>
                            <td><input type="hidden" value="<?php echo $data->units; ?>"    name="units[] "> <?php echo $data->units; ?></td>
                            <td><input type="hidden" value="<?php echo $data->n_value; ?>" name="normal_value[] "> <?php echo $data->n_value; ?></td>
                        </tr>

1 Ответ

0 голосов
/ 26 февраля 2019

Использовать имена массивов для ввода.IE:

<form action="" method="post" name="someform">
    <input name="row[0][test_name]"/>
    <input name="row[0][result]"/>
    <input name="row[1][test_name]"/>
    <input name="row[1][result]"/>
    <input type="submit" name="submitted" value="send">
</form>

Так что после отправки, разбирая в php, используйте filter_input с FILTER_REQUIRE_ARRAY в качестве опции:

<?php

$submitted = filter_input(INPUT_POST, 'submitted');
if(!empty($submitted)){

    $rows = filter_input(INPUT_POST,'row',  FILTER_DEFAULT, FILTER_REQUIRE_ARRAY);
    $parsed_rows = [];
    foreach($rows as $row){
        if(!empty($row['test_name']) && !empty($row['result'])){
            $parsed_rows[] = $row;
        }
    }

}

?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...