如何编写if-else动态语句


how to code an if else dynamic statement

我在编写if-else语句时遇到问题。考虑到我在ColdFusion已经这么做多年了,这让我觉得很愚蠢。

这是任务。我需要从数据库中提取名字、姓氏、电子邮件、联合主席状态并返回结果。然而,并不是每个人都有电子邮件,所以我需要一份声明,其中包括那些有电子邮件的人的mailto链接,而不包括那些没有电子邮件的人。

这是我正在使用的代码,其中包括所有邮件的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)); ?>

这是您想要选择性显示为链接的代码行(为了可读性而拆分):

<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; ?>

如果电子邮件字段不为空(!否定结果,所以我们检查它是否为空),它会在锚标记中打印名字和姓氏。如果为空,则打印没有它的名称。

一个更优雅的解决方案可能是将电子邮件地址作为一个单独的字段或链接提供,而不是列出一些是链接的名称和一些不是链接的名称。