2014-01-11 101 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

您是否嘗試過一個隱藏的輸入加入到一個名爲「視圖」和值「今天」的形式?