Как вставить несколько раскрывающихся значений в базе данных? - PullRequest
0 голосов
/ 06 мая 2019

У меня есть много раскрывающихся списков в моем html, и я хочу отправить каждое значение из какого-либо раскрывающегося списка в базе данных (этот раскрывающийся список я открываю и выбираю любое значение, которое также должно входить в базу данных с именем раскрывающегося списка).

База данных будет показывать так, что этот пользователь выбрал значение 1 из раскрывающегося списка "ABC" и значение 3 из раскрывающегося списка "XYZ" и т. Д. И т. Д., И те раскрывающиеся списки, значение которых я не выбрал, не должны попадать в базу данных.

<code> <pre>
    <tr class="evenrow">
        <td align="center"><input type="hidden" name="report_id[]" id="report_id" value="1">1</td>
        <td>Customer Balances</td>
        <td>
            <select  name="printer[]" id="printer" class="form-control" title="">
                <option value="">Browser support</option>
                <option value="1">QL500&nbsp;-&nbsp;Label printer</option>
                <option value="2">Samsung&nbsp;-&nbsp;Main network printer</option>
                <option value="3">Local&nbsp;-&nbsp;Local print server at user IP</option>
            </select>
        </td>
    </tr>

    <tr class="evenrow">
        <td align="center"><input type="hidden" name="report_id[]" id="report_id" value="2">2</td>
        <td>Customer Balances</td>
        <td>
            <select  name="printer[]" id="printer" class="form-control" title="">
                <option value="">Browser support</option>
                <option value="1">QL500&nbsp;-&nbsp;Label printer</option>
                <option value="2">Samsung&nbsp;-&nbsp;Main network printer</option>
                <option value="3">Local&nbsp;-&nbsp;Local print server at user IP</option>
            </select>

        </td>
    </tr>

    <tr class="evenrow">
        <td align="center"><input type="hidden" name="report_id[]" id="report_id" value="3">3</td>
        <td>Customer Balances</td>
        <td>
            <select  name="printer[]" id="printer" class="form-control" title="">
                <option value="">Browser support</option>
                <option value="1">QL500&nbsp;-&nbsp;Label printer</option>
                <option value="2">Samsung&nbsp;-&nbsp;Main network printer</option>
                <option value="3">Local&nbsp;-&nbsp;Local print server at user IP</option>
            </select>

        </td>
    </tr>

        <tr class="evenrow">
        <td align="center"><input type="hidden" name="report_id[]" id="report_id" value="4">4</td>
        <td>Customer Balances</td>
        <td>
            <select  name="printer[]" id="printer" class="form-control" title="">
                <option value="">Browser support</option>
                <option value="1">QL500&nbsp;-&nbsp;Label printer</option>
                <option value="2">Samsung&nbsp;-&nbsp;Main network printer</option>
                <option value="3">Local&nbsp;-&nbsp;Local print server at user IP</option>
            </select>

        </td>
    </tr>


    </table>



    </div>

    <!-- /.box-body -->
    </div>
       <center>
            <div class="input-group">
                <input type="submit" name="submit" id="submit" value="Add New" class="btn btn-info pull-right">
            </div>
    </center>
    

Ответы [ 2 ]

0 голосов
/ 08 мая 2019

Вы использовали массив для имени блока выбора, и все три блока выбора имеют одно и то же имя, поэтому, если вы хотите сохранить все различные значения разделов, измените имя блока выбора, чтобы вы получили 2 различных массива в контроллере, или вы можете легко определить, из какого раздела его получил и сделать клиент JSON

$selected_option= array("section1"=>$this->input->post('printer1',"section2"=>$this->input->post('printer2'); $selected_option_json= json_encode($selected_option); хранить $ selected_option_json (это строка json) в db

Надеюсь, это полезно для вас.

0 голосов
/ 08 мая 2019

Почему бы не использовать другое имя вместо одного и того же.

Report1, Printer1
Report2, Printer2
Report3, Printer3

и в контроллере вы можете поймать их по имени ...

<table>
   <tr class="evenrow">
        <td align="center"><input type="hidden" name="report_id1" id="report_id" value="1">1</td>
        <td>Customer Balances</td>
        <td>
            <select  name="printer1" id="printer" class="form-control" title="">
                <option value="">Browser Support</option>
                <option value="1">Text</option>
                <option value="2">Text</option>
                <option value="3">Text</option>
            </select>
        </td>
    </tr>

    <tr class="evenrow">
        <td align="center"><input type="hidden" name="report_id2" id="report_id" value="2">2</td>
        <td>Customer Balances</td>
        <td>
            <select  name="printer2" id="printer" class="form-control" title="">
                <option value="">Browser Support</option>
                <option value="1">Text</option>
                <option value="2">Text</option>
                <option value="3">Text</option>
            </select>

        </td>
    </tr>
    </table>

А затем в контроллере:

$report1 = $this->input->post('report1');
$report2 = $this->input->post('report2');
$printer1= $this->input->post('printer1');
$printer2= $this->input->post('printer2');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...