我想使用一对查询字符串来生成特定页面内容
查询字符串示例: 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但不确定如何!
答案 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;
}
}