我正在为我的脚本制作自定义数据过滤器。除1个过滤器外,一切正常。
我可以选择查看今天的所有数据,如果你去my-url.file.php?view = today
它知道今天必须获取所有数据。但是在日期过滤器旁边,我还有其他一些过滤器。哪个可以通过GET(表格)设置
一切正常但当我正在查看my-url.file.php?view=today
并设置(例如)排序过滤器时,它会重定向到?p=5&limit=3&ordersort=orderdesc
但它应该重定向到?p=5&**view=today**&limit=3&sortby=orderdesc
所以我想..好吧让我通过var设置动作并检查页面是否今天查看如果是这样的话......我将把视图放在网址中,否则不会......但是它仍然删除了这个VAR
最好的方法是什么?
<?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
<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> orders </label>
<label>Sort by
<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>
答案 0 :(得分: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
答案 1 :(得分:0)
您是否尝试将隐藏的输入添加到名称为“view”且值为“today”的表单中?