Множественное значение OPTION для использования в качестве GET в форме - PullRequest
0 голосов
/ 12 октября 2018

Я искал много решений и почти по всему Интернету, но не нашел ответа.

У меня есть такая форма:

<form action="index.php" method="get">
 <select id="store" type="text" name="s"> 
        <option valA="value1" valB="value2">Selection 1</option>
        <option valA="value3" valB="value4">Selection 2</option>
 </select>
<input id="submit" type="submit" value="Submit" />
</form>

Эта форма расширена через PHP с MySQL, которыйберет valA и valB из базы данных для каждого «Selection» в цикле while и генерирует форму с этой формой (приведенной выше).

Я знаю, что отправка его через POST перезагрузит мой веб-сайт со значением, заданным значением name.Но мне нужно сделать это с двумя значениями.

Поэтому моя ссылка, когда я выбираю один из вариантов, будет:

 http://mywebsite.com/index.php?valA=value1&valB=value2

Форма все еще активна каждый раз при перезагрузке сайта, поэтому, когда явыберите другой вариант, я хочу изменить его с помощью отправки и изменения URL.

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

Можно ли сделать это через HTML / Form, или мне нужно использовать PHP, но как?

Iнеобходимо перезагрузить веб-сайт, а не изменять его только потому, что на основе valA и веб-сайта valB будет загружаться сценарий datatables на его основе и генерировать таблицу из базы данных; одно из значений - это просто ключ к таблице, другое - к базе данных.

Ответы [ 2 ]

0 голосов
/ 12 октября 2018

Может быть, вы можете объединить необходимые значения с каким-либо разделителем, например:

<select id="store" type="text" name="s"> 
    <option value="value1:value2">Selection 1</option>
    <option value="value3:value4">Selection 2</option>
</select>

Ваш URL становится:

http://mywebsite.com/index.php?s=value1:value2

На стороне сервера вы можете:

$parts = explode(':', $_GET['s']);
0 голосов
/ 12 октября 2018

Вам потребуется javascript для достижения этого без php

Если ваш php принимает вызов, то почему бы вам не разделить значение с помощью delmiter value = "value1 | value2"

тогда в вашем php я бы сделал следующее

$values = explode("|",$_GET['s']);

тогда у вас есть $ values ​​[0] и $ values ​​[1] - содержащие два значения

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