使用if语句嵌套PHP

时间:2017-01-03 17:16:30

标签: php if-statement syntax tags

我有一些PHP代码

<div class="pod-b footer-pod">
            <h3 class="footer-title">Our Contacts</h3>
            <?php   
            $teachers = tribe_get_organizers_custom();  
            ?>

                <?php foreach ($teachers as $teacher){

                    // vars
                    $id = $teacher -> ID;
                    $title = $teacher -> post_title;
                    $yogaName = get_field('yoga_name', $id);
                    $phone = tribe_get_organizer_phone($id);
                    $email = tribe_get_organizer_email($id);
                ?>
    <?php
    if (!get_field('hide_the_teacher_bio_on_this_event')) {

        <div class="teacher id_<?php echo $id; ?>">
                        <h4 class="teacher-name"><?php if($yogaName){echo $yogaName;}else{echo $title;}  ?></h4>
                        <div class="teacher-phone"><i class="ion-android-call"></i><?php echo $phone;  ?></div>
                        <div class="teacher-email"><i class="ion-ios-email"></i><a href="mailto:<?php echo $email;  ?>"><!--<?php echo $email;  ?>-->Email me</a></div> 
                    </div>

                }?>
        </div>

(更新) - 我试图用if语句中的“teacher(id)”类来包装div - 但是我正在以某种方式获取openign和关闭PHP语法错误。

任何帮助非常感谢,提前谢谢!

2 个答案:

答案 0 :(得分:0)

您是否正在尝试打印一条记录或一堆记录?您对for循环的使用表明您正在尝试为每位教师打印一组值。

有很多方法可以完成这项工作。

a)快速而肮脏的方式:包装整个HTML内容并通过迭代值来回显它。

Eg: for each ($teachers as $keyteacher => $valueteacher) {
$yoganame = get_field('yoga_name',$valueteacher['id']);
if ($yoganame != "") {
echo "<div class=techer_id_$valueteacher['id']...... so on and so forth"
  }
}

b)首选方式(我将如何做)是将值作为数组返回,并使用jQuery / javascript写出HTML元素。

答案 1 :(得分:0)

感谢您的回复 - 我解决了问题,只是在HTML块启动之前我还没有关闭我的PHP标签 - doh!无论如何,谢谢;)