2013-10-16 32 views
0

我有一個包含id和activity_name的表teamtrack_activity。PHP選擇框功能不正常?

我有表teamtrack_entry擁有所有團隊的每日條目。此表有一個字段「activity_id」,我想存儲teamtrack_activity id。我有這部分工作。

不過我有2個問題:

  1. 顯示ACTIVITY_NAME代替身份證。當我嘗試這樣做時,activity_name會被傳遞,這當然不起作用。

  2. 當我回去編輯條目時,它不顯示數據庫中的值。它只是重新顯示選擇框。

if ($key == "activity_id") 

    { 

    $query="SELECT id, activity_name FROM teamtrack_activity Order By id"; 

    $res = sql_query($query); 

    if ($res === FALSE) 

    { 

     trigger_error(sql_error(), E_USER_WARNING); 

     fatal_error(FALSE, get_vocab("fatal_db_error")); 

    } 

    $select_options["entry.$key"] = array(); 

    for ($i = 0; ($row = sql_row_keyed($res, $i)); $i++) 

    { 

     $select_options["entry.$key"][$row['id']] = $row['id']; 

    } 

    } 

回答

0

變化:

$select_options["entry.$key"][$row['id']] = $row['id']; 

$select_options["entry.$key"][$row['id']] = $row['activity_name']; 

得到與活動AME,其提交的活動ID爲腳本下拉。

根據您的評論; 它可能是你的$ select_options的解析。

在foreach循環你想

foreach($select_options["entry.$key"]) as $key => $label) 
    { 
    echo "<option value=".$key.">".$label."</option>"; 
    } 
+0

這是行不通的。它發送activity_name,並且activity_id是INT,因此它恢復爲0. – blankip

+0

這很奇怪。這意味着你從數據庫中提取的選項沒有ID?請注意,我解析的是ID,而不是活動ID。哦..等一下,將調整 –

+0

我明白你的意思,但不明白foreach語句如何適合代碼。 – blankip