0

我想使用一对查询字符串来生成特定的页面内容

查询字符串示例:example.co.uk/index.php?brand=apple&video=red

我已经设法使用一些简单的 PHP 将 div id 替换为查询品牌,并提供了一些帮助,如下所示:

<?php 
$recognised_brands = array( 
  "apple", 
  "orange", 
  // etc 
); 

$default_brand = $recognised_brands[0]; // use first from list arbitrarily. 

$brand_to_use = isset($_GET['brand']) && in_array($_GET['brand'], $recognised_brands) 
  ? $_GET['brand'] 
  : $default_brand; 

echo '<div id="' . $brand_to_use . '"></div>';  
?>

但是,我不确定如何对名为 video 的第二个查询执行类似操作。

例如,如果他们查询的是 ?brand=apple&video=red

然后我想将页面代码中的视频变量替换为红色的正确数字,但我不知道如何根据视频查询添加这些变量的列表,例如:red => 1,然后将 1 回显到正确的区域?

同样基于所选的视频,我希望更改部分标题文本及其下方的一段代码,但也不确定在哪里最好指定此内容:

尝试澄清:

我对品牌查询进行了排序,我需要让我的视频查询填充多个区域标题、视频 ID 和内容 div,但不知道如何!

4

1 回答 1

2

如果我正确理解了您的问题,这将满足您的要求:

$videoToNum = array("red" => 1, 
                    "blue" => 2, 
                    "yellow" => 3);

$videoValue = ((isset($_GET['video']) && isset($videoToNum[$_GET['video']])) ? $videoToNum[$_GET['video']] : null);

if($videoValue) {
    echo '<div id="' . $videoValue . '"></div>';  
}

不过,这个问题相当模糊,因此如果这没有帮助,您可能需要进一步详细说明。

编辑:这是评论中讨论的开关示例:

$video = (isset($_GET['video']) ? $_GET['video'] : null);

if($video) {
    switch($video) {
        case "red":
            //do red stuff
            break;
        case "blue":
            //do blue stuff
            break;
        case "yellow":
            //do yellow stuff
            break;
    }
}
于 2012-07-13T13:13:30.903 回答