Отправьте несколько значений из выпадающего списка в действие контроллера - PullRequest
0 голосов
/ 07 мая 2018

У меня есть выпадающий список, где данные поступают из моей базы данных. Я хочу отправить выбранный элемент раскрывающегося списка в метод действия контроллера. И затем я отправлю эти значения в модель для дальнейшей работы. Здесь проблема в том, что у меня есть два значения базы данных в одном элементе раскрывающегося списка. И я не понимаю, как отправить эти два метода. Вот мой код, приведенный ниже,

<select name='select'>
        <option selected disabled>Choose Stations</option>
        <?php foreach ($get_stations as $get_stations_item): ?>
            <option>Station <?php echo $get_stations_item['sourcestationid']; ?> - Station <?php echo $get_stations_item['destinationstationid']; ?></option> 
        <?php endforeach; ?>
    </select>

Из этого выпадающего списка я хочу отправить sourcestationid и destinationtationid отдельно как 2 параметра в метод действия моего контроллера. Вот мой код контроллера, хотя я думаю, что это не правильно

function getdata(){
    $iotdata['test'] = $this->input->post('select2');
    //rest of the code according to the source and destination id item
}

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 07 мая 2018

Спасибо @BitsPlease за наше предложение. Ваша идея работает. Но мне нужно сделать небольшое изменение, чтобы получить его немедленно. Мой тег select должен находиться под тегом form, чтобы получить их без перезагрузки страницы. Вот мой взгляд,

<form method="post" accept-charset="utf-8" action="<?php echo site_url("controller/action"); ?>">
        <select name='select' onchange="this.form.submit()">
            <option selected disabled>Choose Stations</option>
            <?php foreach ($get_stations as $get_stations_item): ?>
                <option value="<?php echo $get_stations_item['sourcestationid'].','.$get_stations_item['destinationstationidr']; ?>">Station <?php echo $get_stations_item['sourcestationid']; ?> - Station <?php echo $get_stations_item['destinationstationidr']; ?></option> 
            <?php endforeach; ?>
        </select>
    </form>

Вот код php,

$select = explode(',', $this->input->post('select'));
print_r($select)
0 голосов
/ 07 мая 2018

Вы не сохранили переменную внутри тега значения опции.

     <select name='select'>
    <option selected disabled>Choose Stations</option>
    <?php foreach ($get_stations as $get_stations_item): ?>
        <option value="<?php echo $get_stations_item['sourcestationid'].','.$get_stations_item['destinationstationid']; ?>">Station <?php echo $get_stations_item['sourcestationid']; ?> - Station <?php echo $get_stations_item['destinationstationid']; ?></option> 
    <?php endforeach; ?>
</select>

Также здесь, в конце PHP, вы можете разбить строку в массив и сохранить ее далее в db.

<?php
$select = explode(',', $select)
print_r($select); // this will have your two values
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...