0

PHP で行を編集したいのですが、フィールドの 1 つは、選択した行 (コンピテンス グループ) に設定された値を取得するドロップダウン リストですが、問題は、選択したオプションが空であることです。 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);}
4

1 に答える 1

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>
于 2013-02-28T09:22:05.283 に答える