带有选择列表的PHP数组
我试图在国家名称旁边打印国旗,所以如何使用数组循环遍历选项标记 例如:带有选择列表的PHP数组,php,html,css,Php,Html,Css,我试图在国家名称旁边打印国旗,所以如何使用数组循环遍历选项标记 例如: $newarray = array("USA"=>"flag/usa.png", "UK"=>"flag/uk.png"); <select name ="options"> <option value="US">USA</option> <option value="UK">UK</option> <option value="MY">
$newarray = array("USA"=>"flag/usa.png", "UK"=>"flag/uk.png");
<select name ="options">
<option value="US">USA</option>
<option value="UK">UK</option>
<option value="MY">Malaysia</option>
</select>
$newarray=array(“USA”=>“flag/USA.png”、“UK”=>“flag/UK.png”);
美国
英国
马来西亚
我可以使用$newarray['USA']
访问此阵列
但是,每当用户在选项标签中选择国家时,我希望国旗图标打印在国家名称旁边。这就是您可以实现的方法:
$newarray = array("USA"=>"flag/usa.png", "UK"=>"flag/uk.png");
echo '<select name ="options"> ';
foreach($newarray as $n=> $nv)
{
echo '<option value='.$n.' style="background-image:url(https://image.shutterstock.com/image-vector/sample-stamp-square-grunge-sign-260nw-1474408826.jpg);">'.$n.'</option>';
}
echo '</select>';
$newarray=array(“USA”=>“flag/USA.png”、“UK”=>“flag/UK.png”);
回声';
foreach($n=>nv的新数组)
{
回音“.$n.”;
}
回声';
只需将url替换为$nv变量就可以轻松地在该数组中循环并显示图像,但您将无法在
中可靠地显示图像。您可以使用自定义下拉列表,如中的下拉列表
获得设计师对css相关更改的帮助。您可以在更改下拉列表时更改国家图标。这是使用javascript的简单解决方案。对于这种类型的需求,您还可以使用jquery和引导
<?php
$array = array("USA"=>"flag/usa.png", "UK"=>"flag/uk.png");
?>
<div class="myclass">
<h2>pick an option</h2>
<select id="dropdown" name="dropdown" onchange="javascript:goTo();">
<option value="0">Please Select</option>
<?php foreach ($array as $key=> $value){?>
<option value="<?php echo $value;?>"><?php echo $key;?></option>
<?php }?>
</select>
<img id ="imgId" src="" />
</div>
<script type="text/javascript">
function goTo() {
var location = document.getElementById("dropdown").value;
document.getElementById("imgId").src=location;
}
</script>
选择一个选项
请选择
选择国家并获取地图
请选择
这是服务器端逻辑无法做到的。您需要一些额外的客户端逻辑,所以javascript。您可以使用Ajax并从array_Search返回结果这将显示每个选项的标志。不完全是OP要求的,我想为每个选项显示,比如选项标签中有200多个国家,假设用户选择了美国,那么我想要像[flagicon][countryname]这样的东西差不多that@MohammadSameer尝试实现它一次,它会给你相同的输出,或者你只想在选中它时显示图像?一些信息:我在一个单独的页面中有国家下拉菜单,即submit.php,每当用户提交包含姓名、国家、性别等详细信息的表单时,bio它是在index.php上提交的,所以它们在两个单独的页面上,我使用的脚本使用PDO,并使用$user['name']和$user['gender']从MYSQL数据库表中访问名称、性别等详细信息。这是一个解决方案,而不是一个答案,您并没有真正解释如何解决它。对于提问者:在数组上循环,对数组的所有条目重复相同的代码。它输出一个键和一个值($array as$key=>$value)
,其中$key是“USA”或“UK”,而$value是标志。
<?php
$array = array("USA"=>"flag/usa.png", "UK"=>"flag/uk.png");
?>
<div class="myclass">
<h2>pick an option</h2>
<select id="dropdown" name="dropdown" onchange="javascript:goTo();">
<option value="0">Please Select</option>
<?php foreach ($array as $key=> $value){?>
<option value="<?php echo $value;?>"><?php echo $key;?></option>
<?php }?>
</select>
<img id ="imgId" src="" />
</div>
<script type="text/javascript">
function goTo() {
var location = document.getElementById("dropdown").value;
document.getElementById("imgId").src=location;
}
</script>
<?php
$country = array("USA"=>"flag/usa.png", "UK"=>"flag/uk.png");
?>
<img id ="CountryMap" src="" />
<h2>Select Country and GET Map</h2>
<select id="getMap" onchange="GetMap();">
<option value="0">Please Select</option>
<?php foreach ($country as $key=> $value):?>
<option value="<?php echo $value;?>"><?php echo $key; ?></option>
<?php endforeach; ?>
</select>
<script type="text/javascript">
function GetMap()
{
var location = document.getElementById("getMap").value;
document.getElementById("CountryMap").src=location;
}
</script>