多个OPTION值用作表单中的GET

时间:2018-10-11 21:09:06

标签: php html mysql forms

我在互联网上搜索了很多解决方案,但没有找到答案。

我的表格如下:

<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>

这种形式是通过MySQL的PHP​​扩展的,它为while循环中的每个“选择”从数据库中获取valA和valB并使用该形式生成形式(如上所示)。

我知道通过POST发送它会使用值名称给定的值重新加载我的网站。但是我需要用两个值来做到这一点。

因此,当我选择其中一个选项时,我的链接将是:

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

每次重新加载网站时,表单仍处于活动状态,因此,当我选择其他选项时,我想使用提交和更改URL对其进行更改。

我发现的所有内容都是使用多重选项并同时发送其中两个,但是我没有多重选择,但是每个选择都有很多参数(对我来说是两个)。 / p>

是否可以通过HTML / Form来实现,或者我需要使用PHP,但是如何?

我需要重新加载网站-不仅要更改它,因为基于valA和valB的网站将加载基于它的datatables脚本并从数据库中生成表,其中一个值只是表的键,而另一个值是数据库的键。 / p>

2 个答案:

答案 0 :(得分:1)

也许您可以将所需的值与一些定界符连接起来,例如:

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

您的网址变为:

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

在服务器端,您可以:

$parts = explode(':', $_GET['s']);

答案 1 :(得分:0)

如果没有php,您将需要JavaScript来实现

如果您的php是接听电话的内容,那为什么不用分隔符value =“ value1 | value2”分隔一个值

然后在您的PHP中,我将执行以下操作

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

那么您就有$ values [0]和$ values [1]-包含两个值