2013-02-28 91 views
0

我想在PHP中编辑一行,其中一个字段是下拉列表,它将获取为所选行(能力组)设置的值,但问题在于所选选项是空的,虽然查询工作,我也可以使用print_r打印值。但是当我把它放在表格中时,它没有显示任何东西。值不会显示在下拉列表中

我在表单中使用这样的:

<select class="edit_competence_group" name="Competence_Group_Edit"> 
    <?php 
    $r=$this->matchinggroup; 
    $Competence_Group=$r['Competence_Group']; 
    print_r($this->matchinggroup); 
    ?> 
    <option selected="selected" value=<?php if (isset ($Competence_Group)) {echo $Competence_Group;}?>></option> 
    <?php 
    $arr=$this->distinct_competence_groups; 

    foreach ($arr as $row){ 

     echo "<option value='" .$row['Competence_Group']. "'>" .$row['Competence_Group'] . "</option>";   
    } 
    ?> 


</select> 

的查询来获取特定组中的一类,如下所示:

function editCompetence($Competence_id){ 
    if(is_numeric($Competence_id) && $Competence_id != 0){ 
     try{ 
      $this->query = "UPDATE Competences SET 
          Competence_Group=$this->Competence_Group 
          Competence_Class=$this->Competence_class 
          Competence_Description=$this->Competence_Description  
          WHERE Competence_ID=$this->Competence_id"; 
      $tulos = $this->suoritaKysely(); 
      if(TESTITULOSTUS_LUOKKA){ echo 'Editing Competence with ID : '.$this->Competence_id.'<br/>Tulos: '.$tulos.'<br/>'; } 

      if($tulos===false){ 
       return array('tulos'=>false,'viesti'=>'Competence could not be edited'.'<br />'); 
      } 
      else return array ('tulos'=> true, 'viesti'=>'competence was edited'.'<br/>'); 

     }catch (Exception $e) { 
      return array('tulos' => false, 'viesti' => _("tietokantavirhe").' :'.$e->getMessage()); 

     } 
    } 
} 

我呼吁在索引文件中的函数:

if(isset($_REQUEST['edit_id'])){ 
    echo $_GET['edit_id']; 
    $oneC=$hr_object->matchingGroup($_GET['edit_id']); 
    $page->assign('matchinggroup', $oneC);} 
+0

请确保使用双引号括起所选的“选项”值,就像您对其余元素进行操作一样。例如'... value =“<?= $ Competence_Group?:''?>”...' – Boaz 2013-02-28 09:18:02

回答

0

尝试类似这样:

<select class="edit_competence_group" name="Competence_Group_Edit"> 
    <?php 
    $r=$this->matchinggroup; 
    $Competence_Group=$r['Competence_Group']; 
    print_r($this->matchinggroup); 
    if (isset ($Competence_Group)) 
    echo '<option value=" '.$Competence_Group.'" selected >your forgot the name here</option>'; 

    $arr=$this->distinct_competence_groups; 

    foreach ($arr as $row){ 

     echo "<option value='" .$row['Competence_Group']. "'>" .$row['Competence_Group'] . "</option>";   
    } 
    ?> 


</select> 
+0

我怎么会这么愚蠢!非常感谢 – 2013-02-28 09:47:40