2012-01-23 72 views
0

我在編寫if else語句時遇到了問題。考慮到我在ColdFusion中多年來一直這樣做,這讓我感覺非常愚蠢。如何編寫if if動態語句

這是任務。 我需要從數據庫中提取名字,姓氏,電子郵件,聯合主席狀態並返回結果。然而,不是每個人都有電子郵件,所以我需要一個聲明,其中包含郵件鏈接爲那些有電子郵件,並排除郵件鏈接爲那些沒有。

這裏是我使用的代碼,包括所有的mailto鏈接。

我需要做些什麼調整? 感謝, 大衛

<?php do { ?> 
    <a href="mailto:<?php echo $row_GetMembers['BACmember_Email']; ?>"><?php echo $row_GetMembers['BACmember_First']; ?> <?php echo $row_GetMembers['BACmember_Last']; ?></a> 
    <?php /*START_PHP_SIRFCIT*/ if ($row_GetMembers['BACmember_CoChair']=="Yes"){ ?> 
    <strong> Co-Chair</strong> 
    <?php } /*END_PHP_SIRFCIT*/ ?><br /> 
<?php } while ($row_GetMembers = mysql_fetch_assoc($GetMembers)); ?> 

回答

1

這是你要選擇顯示爲紐帶的代碼行(拆分​​爲便於閱讀):

<a href="mailto:<?php echo $row_GetMembers['BACmember_Email']; ?>"> 
    <?php echo $row_GetMembers['BACmember_First']; ?> 
    <?php echo $row_GetMembers['BACmember_Last']; ?> 
</a> 

你會想這樣的事情,而不是:

<?php if (!empty($row_GetMembers['BACmember_Email'])): ?> 
    <a href='mailto:<?php echo $row_GetMembers['BACmember_Email']?>> 
     <?php echo $row_GetMembers['BACmember_First']; ?> 
     <?php echo $row_GetMembers['BACmember_Last']; ?> 
    </a> 
<?php else: ?> 
    <?php echo $row_GetMembers['BACmember_First']; ?> 
    <?php echo $row_GetMembers['BACmember_Last']; ?> 
<?php endif; ?> 

如果電子郵件字段不是空的(!否定結果,所以我們檢查它是否不是空),它會在錨標記中打印名字和姓氏。如果它爲空,它將打印沒有它的名稱。

一個更優雅的解決方案可能是所提供的電子郵件地址作爲一個單獨的領域或環節,而不是有一些名字是鏈接和一些不清單。

+0

感謝您的幫助模糊! –