如何编写if else动态语句

时间:2012-01-23 23:20:12

标签: php if-statement

我在编写if else语句时遇到了麻烦。考虑到我在ColdFusion中已经这么多年了,这让我觉得非常愚蠢。

这是任务。 我需要从数据库中提取名字,姓氏,电子邮件,共同主席状态并返回结果。然而,不是每个人都有电子邮件,所以我需要一个声明,其中包含有电子邮件的mailto链接,并为那些没有电子邮件的人排除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)); ?>

1 个答案:

答案 0 :(得分: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; ?>

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

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