【问题标题】:Using switch and $_GET使用 switch 和 $_GET
【发布时间】:2012-10-04 09:37:25
【问题描述】:

我正在为一个服装电子商务网站创建一个大型菜单。这些类别分为 New InWomenMenNew In 将只是直接指向特定产品的链接,但我希望 WomenMen 类别仅通过两个页面链接到相关类别.因此,女性类别下方将是例如裙子和上衣。

我的代码开始是...

$ItemCategory = ['$category'];
$category = "";

switch ($_GET['$category']) {
    case "Women";
    // the difference in variables go here;
    break;

    case "Men";
    // the difference in variables go here;
    break;
}

我不知道我是否会以正确的方式或以什么方式处理它。显然,评论所在的位置将是我输入每个类别的位置。虽然我不确定这里会发生什么。

另外,例如裙子的链接是什么?会不会是

<a href="http://mysite.com/store.php?gender=Women&category=skirts">Skirts</a>

或者我完全没有抓住重点?

【问题讨论】:

  • 你能给我们你正确的代码吗? $ItemCategory = ['$category'] => $_GET['category'] 也许? switch 声明附近相同。另外,如果category=skirts 不能与“Women”或“Men”匹配

标签: php


【解决方案1】:

这需要一个组合开关或 if-else:

$ItemCategory = $_GET['category'];
$gender = $_GET['gender'];

if($gender == 'Women'){
    switch ($ItemCategory) {
        case "Skirts":
        // content
        break;

        case "Hats":
        // content
        break;
    }
}else if($gender == 'Men'){
    switch ($ItemCategory) {
        case "Ties":
        // content
        break;

        case "Trousers":
        // content
        break;
    }
}

另一种方法是将类别存储在数据库中(无论如何您可能都会这样做)并定义哪个类别属于男性和女性。那么你就只能使用一个类别 id 来导航了。

【讨论】:

  • 嗨 Martin,'//content' 区域会出现什么。会是网址吗?
  • 好吧,我以为您从 eshop 系统中获得了 URL,就像您的问题一样。毕竟,你必须使用你得到的东西。该案例仅包含查询或在您知道您正在处理哪种案例(例如女士裙子)之后您所做的任何处理。
  • 好吧,那么 URL 应该放在那里吗?抱歉,正如我提到的,我以前从未使用过 switch。
  • 如果你想通过 url 重定向,那么你应该在那里生成它,是的。 switch 只是在处理许多选项时减少代码的更好方法。您可以将每个开关重写为许多 if/elseif 语句。
【解决方案2】:
$ItemCategory = $_GET['category'];
$category = "";

switch ($ItemCategory) {
    case "Women":
    // the difference in variables go here;
    break;

    case "Men":
    // the difference in variables go here;
    break;
}

【讨论】:

    猜你喜欢
    • 2013-05-15
    • 1970-01-01
    • 1970-01-01
    • 2018-08-18
    • 1970-01-01
    • 2023-03-14
    • 2011-11-02
    • 2012-12-15
    • 2012-11-16
    相关资源
    最近更新 更多