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

时间:2012-07-13 13:06:54

标签: php arrays string dynamic

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

查询字符串示例: 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&amp; video = red

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

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

试着澄清:

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

1 个答案:

答案 0 :(得分: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;
    }
}