PHP elseif问题

时间:2011-07-02 03:12:40

标签: php oop

目前我有以下代码部分:

<?php if($sales_pages): ?>
    <?php foreach($sales_pages as $sale): ?>
<div id ="sales">
    <span class"thumbnail"><a href="<?=base_url()?>page/sales/viewsale/<?=$sale->id?>"><img class="thumbnailImg" src="<?=base_url()?>includes/uploads/sales/thumbs/<?=$sale->thumbname?>" alt=""/></a>
    <span class="location"><?= $sale->location?></span>
    <span class="price"><?= $sale->price?></span>
    </span>
            </div>

    <?php endforeach; ?>

我要做的是以下内容:

当foreach中有0个销售(从数据库中提取)时,我希望我的代码显示一条消息

这是正确的方法吗?

3 个答案:

答案 0 :(得分:3)

没有。您应该使用else。它与说elseif(True)基本相同。你最终会得到类似的东西:

<?php if($sales_pages): ?>
    <?php foreach($sales_pages as $sale): ?>
        Print a sale
    <?php endforeach; ?>
<?php else: ?>
    Nothing here...
<?php endif; ?>

您可以(并且应该)阅读more about the control structures in PHP in the PHP documentation

哦,顺便说一下。看起来您正在使用CodeIgniter。您是否知道可以使用site_url功能而不是使用base_url()添加内容?然后你就像这样写你的链接的网址(虽然我认为你上面的代码部分有语法错误):

<a href="<?=site_url("page/sales/viewsale/$sale")?>">

答案 1 :(得分:1)

使用ELSE。

$numberOfSale = //fetched from database;

if($numberOfSale ==0)
{
    //Display here your message
}
else
{
    //Loop
}

答案 2 :(得分:1)

$result = mysql_query("SOME SQL HERE") or die("Could not perform select query - " . mysql_error());

    $num_rows = mysql_num_rows($result);


    if($num_rows == NULL)
    {
        return NULL;
    }
    else
    {
       //Loop it and use the results 
    }