我有类似电子商务网站的东西,我可以按类别和价格,观点,日期和喜欢过滤产品。 所以我做了两个变量$ catig和$ sort:第一个param采用了类别的名称,只展示了该类别中的产品,第二个param按照喜欢,日期等方式过滤了这些产品......
<a href="index.php?catig=computers">Computers</a>
<a href="index.php?catig=books">Books</a>
<a href="index.php?catig=software">Software</a>
<a href="index.php?sort=date">Date</a>
<a href="index.php?sort=likes">Likes</a>
<a href="index.php?sort=price">Price</a>
我的问题在于,例如当我选择计算机作为类别时,这就是URL的样子
的index.php?catig =计算机
如果我想按价格对这些计算机进行排序,这就是网址的样子
它给了我按价格排序的所有产品,而不仅仅是电脑。 我想如果我选择电脑,我点击价格,我想按价格对电脑进行排序。我希望URL看起来像这样的index.php?排序=价格
的index.php catig =计算机&安培;排序=价格
所以任何人都可以告诉我如何在第一个参数设置时添加第二个参数。 这是我正在使用的PHP代码:
if (isset($_GET['catig'])) {
$q = $_GET['catig'];
if (isset($_GET['sort'])) {
$s = $_GET['sort'];
$sqll = "SELECT * FROM services WHERE catigory= '$q' ORDER BY $s asc" ;
} else {
$sqll = "SELECT * FROM services WHERE catigory= '$q' ORDER BY id asc" ;
} else {
if (isset($_GET['sort'])) {
$s = $_GET['sort'];
$sqll = "SELECT * FROM services ORDER BY $s asc" ;
} else {
$sqll = "SELECT * FROM services ORDER BY id asc " ;
}
}
答案 0 :(得分:0)
不确定您对代码的了解程度,但以下解决方案应该适合您。 包括以下js:
<script>
function addParam(url, param, value) {
var a = document.createElement('a'), regex = /[?&]([^=]+)=([^&]*)/g;
var params = {}, match, str = []; a.href = url; value=value||"";
while (match = regex.exec(a.search))
if (param != match[1]) str.push(match[1] + "=" + match[2]);
str.push(encodeURIComponent(param) + "=" + encodeURIComponent(value));
a.search = (a.search.substring(0,1) == "?" ? "" : "?") + str.join("&");
// return a.href;
window.location.href = a.href;
}
</script>
然后编辑您的排序选项卡href值,如下所示:
<a href="javascript:addParam(window.location.href, 'sort', 'date');">Date</a>
<a href="javascript:addParam(window.location.href, 'sort', 'likes');">Likes</a>
<a href="javascript:addParam(window.location.href, 'sort', 'price');">Price</a>
答案 1 :(得分:0)
我建议将这些Href更改为单选按钮。类似的东西:
<input type="radio" name="catig" value="computers"> Computers
<input type="radio" name="catig" value="books"> Books
加:
<input type="radio" name="sort" value="price"> Price
<input type="radio" name="sort" value="likes"> Likes
然后你就可以获得你所追求的网址。