php-选择的值没有显示?

时间:2016-05-30 07:46:10

标签: php

点击编辑后,未显示所选值。

任何人都可以告诉我哪里出错!!。

<select id="country" name="country" class="code" >;
<option value="">select country</option>
<?php 
global $wpdb;
$coun_name = $wpdb->get_col("select country_name FROM countries ") ;
foreach($coun_name as $a)
{
<option value="<?php echo strtolower($a); ?>" <?php echo ($item["country"] == $a) ? 'selected="selected"' : '';?>><?php echo $a;?></option>
}
?>
</select>

2 个答案:

答案 0 :(得分:2)

你错了。 <?php部分未执行,但会被评估为字符串。您有两种可能的方法来实现它:

  1. 在第一个echo中使用字符串连接:

    echo '<option value="'. strtolower($a) .'"' . ($item["country"] == $a ? ' selected="selected"' : "") . '>' . $a .'</option>';
    
  2. 将其拆分为多个回声:

    echo '<option value="'. strtolower($a) .'" '; 
    echo $item["country"] == $a ? 'selected="selected"' : "";
    echo '>' . $a .'</option>';
    

答案 1 :(得分:0)

  

在回声内部,您无法再次使用<?php ?>。你的选项标签有些问题。您错过了关闭第一个开始标记的选项标记。

使用单独的HTML和PHP来实现此目的。

<option value="<?php echo strtolower($a); ?>" <?php echo ($item["country"] == $a) ? 'selected="selected"' : '';?>><?php echo $a;?></option>

<强>更新

foreach($coun_name as $a)
{?>
    <option value="<?php echo strtolower($a); ?>" <?php echo ($item["country"] == $a) ? 'selected="selected"' : '';?>><?php echo $a;?></option>
<?php 
}