2012-03-12 51 views
0

我正在使用sql數據庫填充下拉菜單。使用下面的popDropDown函數,我將獲取所有需要的數據併爲動態人口創建所需的HTML。php,使用條件語句返回一個值形成一個函數

這是蹭的......我有一個艱難的時間返回所選的電子郵件地址。我意識到POST的東西沒有記錄在這裏,將處理我的請求。我想知道是否有任何方法可以返回用戶使用下拉列表選擇的電子郵件地址。最終結果將使用返回的地址+主題和消息來生成電子郵件。

我忘了提什麼?感謝提前。

$emailAd = popDropDown($results); 


function popDropDown($results){ 
$_email=""; 
while($row=$results->fetch_assoc()) 
{ 
    $email=$row['EmailAddress']; 
    $id=$row['id']; 
    $Name=$row['MemberName']; 

    //echo $email."<br>"; 
    if ($_POST['emailMenu']==$id) 
     { 
     echo '<option value="'.$id.'"selected>'.$email."</option>"; 
     $_email=$email; 
     } 
    else 
     echo '<option value="'.$id.'">'.$email."</option>"; 
} 
return $_email; 

} 
+0

什麼不適合你現在正在做的事情? – jprofitt 2012-03-12 14:16:13

+0

嘗試回顯相關變量,特別是$ _POST ['emailMenu']和$ id,並查看它們爲什麼不相等(假設是問題所在)。 – Ynhockey 2012-03-12 14:17:47

+0

@Ynhockey - 我沒有迴應$ _POST ['emailMenu'],並且我返回了$ id號(自$ _POST ['emailMenu'] == $ id(?))。問題是需要返回相關的$電子郵件地址。 – bkbarton 2012-03-12 14:24:32

回答

0

嗯。爲什麼這樣做?如果發佈的表單已經包含您要使用的電子郵件記錄的ID,那麼您需要而不是需要通過它們來獲取所有行並翻找它們以找到行喲uwant,您只需直接查詢「知道你需要:

function popDropDown() { 
    $sql = "SELECT email FROM yourtable WHERE id=" . (int)$_POST['emailMenu']; 
    $result = mysql_query($sql) or die(mysql_error()); 
    if (mysql_num_rows($result) == 0) { 
     return null; 
    } 
    $row = mysql_fetch_assoc($result); 
    return($row['email']); 
} 
+0

Marc - 我正在創建一個電子郵件表單,用戶可以使用下拉菜單選擇電子郵件的收件人。在你的例子中,沒有創建這個下拉菜單。正確? – bkbarton 2012-03-12 14:29:31

+0

您的解決方案確實幫助我找到了方法。謝謝。 – bkbarton 2012-03-22 17:03:16

相關問題