如何使用GET将多个变量传递给URL

时间:2014-07-23 22:19:54

标签: php

我有一个显示mysqli查询结果的php页面。

在顶部,我有#perpage和选择器的订单,所以用户可以选择他们想要的。

<form action="" method="GET">
<select name="perpage" onchange="this.form.submit()">
<?php 
                              if (isset($_GET['perpage'])) {print"<option value='".$_GET['perpage']."'>".$_GET['perpage']."</option>";}
                              if (isset($_GET['perpage']) && $_GET['perpage']==10) {} else {print"<option value='10'>10</option>";}
                              if (isset($_GET['perpage']) && $_GET['perpage']==20) {} else {print"<option value='20'>20</option>";}
                              if (isset($_GET['perpage']) && $_GET['perpage']==30) {} else {print"<option value='30'>30</option>";}
                              ?>
</select>
</form>

这个为orderby

<form action="" method="">
<select name="order" onchange="this.form.submit()">
<option value="asc">Ascending</option>
<option value="desc">Descending</option>
</select>
</form>

如果我当前的URL是results.php?perpage = 30,我尝试按顺序设置顺序bcomes results.php?orderby = desc,反之亦然。如果已经设置了第二个变量,我需要简单地将第二个变量附加到URL的末尾。

尝试使用$ _SERVER [&#39; HTTP_HOST&#39;]。$ _ SERVER [&#39; REQUEST_URI&#39;]将操作设置为当前网址,并且它也做同样的事情。

2 个答案:

答案 0 :(得分:0)

它对我有用......

将它放在index.php文件中:

<?php print_r($_GET); ?>

<form action="" method="GET">
    <select name="perpage" onchange="this.form.submit()">
        <?php 
        if (isset($_GET['perpage'])) { print "<option value='".$_GET['perpage']."'>".$_GET['perpage']."</option>"; }
        if (isset($_GET['perpage']) && $_GET['perpage']==10) {} else { print "<option value='10'>10</option>"; }
        if (isset($_GET['perpage']) && $_GET['perpage']==20) {} else { print "<option value='20'>20</option>"; }
        if (isset($_GET['perpage']) && $_GET['perpage']==30) {} else { print "<option value='30'>30</option>"; }
        ?>
    </select>
</form>

在浏览器中调用此类页面:http://localhost/index.php?perpage=20

答案 1 :(得分:0)

将您的orderby放在其他选择的示例中:

<form action="process-form.php" method="GET">
    <select name="orderby">
        <option value="ASC">ASC</option>
        <option value="DESC">DESC</option>
    </select>
    <select name="perpage" onchange="this.form.submit()">
        <?php 
            if (isset($_GET['perpage'])) {
                print"<option value='".$_GET['perpage']."'>".$_GET['perpage']."</option>";
            }

            if (isset($_GET['perpage']) && $_GET['perpage']==10) {} 

            else {
                print"<option value='10'>10</option>";
            }

            if (isset($_GET['perpage']) && $_GET['perpage']==20) {} else {
                print"<option value='20'>20</option>";
            }

            if (isset($_GET['perpage']) && $_GET['perpage']==30) {} else {
                print"<option value='30'>30</option>";
            }
        ?>
    </select>
</form>

并且,提交表单时会发送两个参数。

在PHP文件“process-form.php”中,您可以获得如下参数:

$_GET["orderby"]

$_GET["perpage"]