如何在wordpress中显示下拉菜单中的选定值

问题描述:

我的状态表有state_id和state_name。我直接在像下面的模板文件显示它..如何在wordpress中显示下拉菜单中的选定值

<select name="state" id="state" class="select-submit2"> 
    <option value="">Select state</option> 
    <?php 
    $result=$wpdb->get_results("select * from states"); 
    foreach($result as $row) { 
     $state_id=$row->state_id; 
     $state_name=$row->state_name; 
     echo '<option value='.$state_id.'>'.$state_name.'</option>'; 
    } 
    ?>  
</select> 

但是,当我想编辑如何显示第一选择状态的名称。????

编辑页面的网址... whitecode.in/demo/plotsup_plot/new-property/?listing_edit=6795

这是function.php文件我的功能代码

function getcity(){ 
     global $wpdb; 
     if($_POST['state']) 
      { 
       $id=$_POST['state']; 
       $property_id = $_GET['listing_edit']; 
            $district = get_post_meta($property_id, district, true); 
       $result=$wpdb->get_results("SELECT * FROM districts WHERE state_id='$id'"); 
       //$wpdb->get_results($query); 
           foreach($result as $row) { 
                  $city_name = $row->district_name; 
          $city_id  = $row->district_id; 
         ?> 
    <option value="<?php echo $city_id; ?>" <?php if($district == $city_id){ echo 
    'selected="selected"';} ?>><?php echo $city_name; ?></option> 
    <?php  
           //echo '<option value="'.$city_id.'">'.$city_name.'</option>'; 


      } 
    } 
    } 

按照在之前的评论中讨论变量SELECTED_STATE_ID,我想这属性是在您的网站自定义后的类型。所以如果这是场景,那么这应该是解决方案。

<select name="state" id="state" class="select-submit2"> 
<option value="">Select state</option> 
<?php 
$property_id = $_GET['listing_edit']; //the PROPERTY_ID should be replaced with the original id might be ina get variable or any process by which you are using for the edit page. 
$property_state = get_post_meta($property_id, META_KEY_STATE, true); //META_KEY_STATE is the meta_key name you use to store the value of the state in the postmeta table 
$result=$wpdb->get_results("select * from states"); 
foreach($result as $row) { 
    $state_id=$row->state_id; 
    $state_name=$row->state_name; 
    ?> 
    <option value="<?php echo $state_id; ?>" <?php if($property_state == $state_id){ echo 'selected="selected"';} ?>><?php echo $state_name; ?></option> 
    <?php 
} 
?>  
</select> 

试试这个,让我知道你是否面临任何问题。

+0

property_id是我的post_id。 $ state是我的meta_key。但是,我如何获得post_id? – 2014-09-11 10:10:57

+0

你可以在这里发布编辑页面的网址,然后我可以理解获取该ID的方式。 – suvajit 2014-09-11 10:14:03

+0

看到我上面的编辑... – 2014-09-11 10:16:16

如果这你正在寻找什么?

<select name="state" id="state" class="select-submit2"> 
    <option value="">Select state</option> 
    <?php 
    $result=$wpdb->get_results("select * from states"); 
    foreach($result as $row) { 
     $state_id=$row->state_id; 
     $state_name=$row->state_name; 
     if($state_id == SELECTED_STATE_ID) 
      echo '<option value='.$state_id.' selected>'.$state_name.'</option>'; 
     else 
      echo '<option value='.$state_id.'>'.$state_name.'</option>'; 
    } 
    ?>  
</select> 

只需更换与包含状态下选择

+0

这并没有工作..但它不是你的错.. – 2014-09-11 07:44:29

+0

应该工作,所有你需要做的是用包含选定状态ID的变量替换SELECTED_STATE_ID – 2014-09-11 07:47:15

+0

上面的代码是在我的wordpress模板文件。那么我从哪里带来包含所选状态的Id的变量.. – 2014-09-11 07:52:02