2012-03-12 65 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

相关问题