2013-11-15 26 views
-1

我有一個代碼,它爲下拉提取數據庫值,並根據提取的值處理下拉列表中的值。例如:如果某個成員處於活動狀態,則選擇活動狀態,如果某個成員處於待處理狀態,則選擇未處理狀態。PHP程序怪異

但是,代碼對於獲取的某些值運行得非常有趣。雖然它會提取數據庫中存在的正確值,但它顯示的值不正確。例如,如果一個成員是Cut,它仍然在下拉菜單中顯示Active。這不適用於所有Cut的情況。

的代碼是:

$resultDDM = '<select name="team$membershipID" width="150" onchange="window.location = '; 
    $resultDDM .= "'changemembershipstatus.php?id='+this.value+'&return='+window.location;"; 
    $resultDDM .= '">'; 

    $resultDDM .= '<option value="' . $membershipID . '--active"'; 
    if ($selectedStatus == 'active'){ 
      echo "Bad!"; 
     $resultDDM .= ' selected'; 
    } 
    $resultDDM .= '>Active</option>'; 

    $resultDDM .= '<option value="' . $membershipID . '--inactive"'; 
    if ($selectedStatus == 'inactive') { 
     echo "Hello"; 
     $resultDDM .= ' selected'; 
    } 
    $resultDDM .= '>Inactive</option>'; 

    $resultDDM .= '<option value="' . $membershipID . '--cut"'; 
    if ($selectedStatus == 'cut'){ 
     echo "Hi!"; 
     $resultDDM .= ' selected'; 
     } 
    $resultDDM .= '>Cut</option>'; 

    $resultDDM .= '<option value="' . $membershipID . '--pending"'; 
    if ($selectedStatus == 'pending') { 
     echo "No"; 
     $resultDDM .= ' selected'; 
    } 
    $resultDDM .= '>Pending</option>'; 

    $resultDDM .= '</select>'; 
    echo $resultDDM; 
    return $resultDDM; 

我真的很無能,因爲代碼的其餘作品精絕!代碼中是否存在一些問題?在你的代碼

+1

'$ selectedStatus'在哪裏設置?是否有可能某些值是「剪切」,有些是「剪切」的,例如第一個字母是大寫字母等? –

+0

是的!謝謝......這實際上幫助了我......這是一個存儲空間中的小空間,但它沒有檢查在if循環中......「剪切」而不是「剪切」 – Anan

回答

1

For eg, if a member is Cut, it still shows Active in the Dropdown. This is not applicable to all the cases which are Cut. 看,你cut有選擇的價值...

一對夫婦的想法......對我來說,有兩種可能性,爲什麼你得到不一致的結果。

1)您在選擇框中獲得多個選定的值。當你把在自己if語句中的每個option,這是完全可行的,您的數據可能會返回兩個或更多的情況下,你是把selected到標籤(發佈您生成的HTML,生成$selectedStatus代碼,甚至示例你的數據是肯定的)。

2)您的Cut值可能是不一致的過多,你可能對你比較$selectedStatus串的兩端空白(在這種情況下,你應該定義變量時使用trim),或者你可以有不一致的情況下例如Cut,cut,cUt, CUT這將全部導致$selectedStatus != "Cut"