2014-01-11 99 views
0

我正在为我的脚本制作自定义数据过滤器。所有的作品罚款免除1过滤器。表单提交后,get方法移除url参数

我有一个选项,因此,如果你去我-url.file.php查看今天的人的数据?视图=今天

它知道它必须为今天取人的数据。但是,截至日期过滤器,我也有一些其他的过滤器。至极可以设置槽GET(形式)

一切正常,但是当IM观看my-url.file.php?view=today和设置(例如)一种过滤器重定向到?p=5&limit=3&ordersort=orderdesc,但它应该重定向到?p=5&**view=today**&limit=3&sortby=orderdesc

所以我艰难..好吧,让我们我设置的行动槽变量,并检查如果页面是今天查看如果是这样..即时通讯将把?视图中的网址,否则不..但仍然它删除此变种

什么是最好的方法来处理?

<?php 
if (isset($_GET['view']) && $_GET['view'] === 'today') 
    { 
     $action = "adminOrders.php?view=today"; 
    } 
else 
    { 
     $action = "adminOrders.php"; 
    } 
?> 
<form name="ordermanage" method="get" action="<?php echo $action; ?>"> 
    <label>Show &nbsp; 
    <select id="form-field-select-1" class="form-control" style="display: inline-block !important;width:100px !important" id="limit" name="limit" onchange="document.ordermanage.submit();"> 
     <option value="50" <?php echo (Input::get('limit') == 50) ? 'selected="selected"' : ''; ?>>50</option> 
     <option value="100" <?php echo (Input::get('limit') == 100) ? 'selected="selected"' : ''; ?>>100</option> 
     <option value="200" <?php echo (Input::get('limit') == 200) ? 'selected="selected"' : ''; ?>>200</option> 
     <option value="300" <?php echo (Input::get('limit') == 300) ? 'selected="selected"' : ''; ?>>300</option> 
    </select> &nbsp;orders&nbsp;&nbsp;&nbsp;&nbsp;</label> 

    <label>Sort by &nbsp; 
    <select id="form-field-select-1" class="form-control" style="display: inline-block !important;width:200px !important" id="ordersort" name="ordersort" onchange="document.ordermanage.submit();"> 
     <option value="orderdesc" <?php echo ($selectBoxVarSort === "orderdesc") ? 'selected="selected"' : ''; ?>>Ordernr high to low</option> 
     <option value="orderasc" <?php echo ($selectBoxVarSort === "orderasc") ? 'selected="selected"' : ''; ?>>Ordernr low to high</option> 
     <option value="pricedesc" <?php echo ($selectBoxVarSort === "pricedesc") ? 'selected="selected"' : ''; ?>>Price high to low</option> 
     <option value="priceasc" <?php echo ($selectBoxVarSort === "priceasc") ? 'selected="selected"' : ''; ?>>Price low to high</option> 
    </select> 
    </label> 
</form> 

回答

6

如果您指定表格方法GET,则操作中的参数将被覆盖。你可以解决这个使用隐藏的表单字段:

<form name="ordermanage" method="get" action="adminOrders.php"> 
<?php 
if (isset($_GET['view']) && $_GET['view'] === 'today') { 
    ?><input type="hidden" name="view" value="today" /><?php 
} 
?> 
<label>Show &nbsp; 
+0

啊好吧不知道这个,现在我做!谢谢 – rZaaaa

+0

你能接受答案吗? – akirk

+0

不能接受,10分钟后我可以 – rZaaaa

0

您是否尝试过一个隐藏的输入加入到一个名为“视图”和值“今天”的形式?