doujing6436
doujing6436
2015-04-05 10:22

如何为此添加一个count == 0?

已采纳

I would like to add a count == 0 which if it is the case, just outputs 'please contact us to find out the dates', but I can't seem to get it to work. Please can someone advise?

$count = 0;
$your_repeater = get_field('add_date');
if ($your_repeater) {
    while (have_rows('add_date')):
        the_row();
        $count++;
        $my_field = get_sub_field('course_date');

        if ($count == 0) {
            echo 'please contact us to find out dates';
        } else {
            echo '';
        }
        if ($count == 1) {
            $todays_date = date("Y-m-d");
            $today = strtotime($todays_date);
            $expiration_date = strtotime($my_field);
            if ($expiration_date > $today) {
                // echo $my_field .', ';
                $date12 = new DateTime($my_field);
                $date13 = new DateTime($todays_date);
                $diff = date_diff($date12, $date13);
                echo '<b>1. Starts on:</b> '.$my_field;
                echo '<div class="reddays"> in '.$diff->format("%R%a days.").'<a href="'.get_page_link(
                        '10'
                    ).'">    Contact us now</a></div>';
                //echo  '<a href="'.get_page_link('10') .'">Contact us to find out more</a>';
            } else {
                echo '';
            }
        }
        if ($count == 2) {
            $todays_date = date("Y-m-d");
            $today = strtotime($todays_date);
            $expiration_date = strtotime($my_field);
            if ($expiration_date > $today) {
                //echo $my_field .' ,';
                $date12 = new DateTime($my_field);
                $date13 = new DateTime($todays_date);
                $diff = date_diff($date12, $date13);
                echo '<b>2. Starts on:</b> '.$my_field;
                echo '<div class="reddays"> in '.$diff->format("%R%a days.").'<a href="'.get_page_link(
                        '10'
                    ).'">    Contact us now</a></div>';
                //echo '<img src="' .bloginfo('url').'/wp-content/themes/derbyskillbuild site/images/hourglass.png" />';
            } else {
                echo '';
            }
        }
        if ($count == 3) {
            $todays_date = date("Y-m-d");
            $today = strtotime($todays_date);
            $expiration_date = strtotime($my_field);
            if ($expiration_date > $today) {
                //echo $my_field .' ,';
                $date12 = new DateTime($my_field);
                $date13 = new DateTime($todays_date);
                $diff = date_diff($date12, $date13);
                echo '<b> 3. Starts on:</b> '.$my_field;
                echo '<div class="reddays"> in '.$diff->format("%R%a days.").'<a href="'.get_page_link(
                        '10'
                    ).'">    Contact us now</a></div>';
            } else {
                echo '';
            }
        }
        if ($count == 4) {
        }
        if ($count == 5) {
        }
        echo '</ul>';
    endwhile;
}
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • duanbin3021 duanbin3021 6年前

    It appears that you are checking the count way too soon in your code.

    You start with a $count = 0;, but then in the while loop you first do $count++. So, at this point, the count is 1. Then a few lines later you check this:

            if ($count == 0) {
                echo 'please contact us to find out dates';
            }
    

    This will never return true, since you just did a $count++ from 0, so at this point it's always at least 1. It seems that this check should be outside of your while loop and you're currently closing the loop way too late.

    点赞 评论 复制链接分享