2013-02-28 70 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