通过查询字符串动态PHP内容


Dynamic PHP Content via Query Strings

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

查询字符串示例:example.co.uk/index.php?brand=apple&视频=红色

我已经设法使用一些简单的PHP将div id替换为query brand,并提供了以下帮助:

<?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>';  
?>

然而,我不确定如何对第二个名为视频的查询进行类似操作。

例如,如果他们的查询是?brand=apple&视频=红色

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

同样基于所选的视频,我希望标题文本的一部分和下面的一段代码进行更改,但也不确定在哪里最好指定:

尝试澄清:

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

如果我正确理解你的问题,这将满足你的需求:

$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;
    }
}