目前我有以下代码部分:
<?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个销售(从数据库中提取)时,我希望我的代码显示一条消息
这是正确的方法吗?
答案 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
}