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);}