一个简单的PHP问题

时间:2010-10-25 22:52:08

标签: php joomla

我有一个基本上显示类别列表的Joomla模块。在类别名称旁边,使用下面的行显示该特定类别中的项目数

 <em>(<?php echo $row->counter ;?>) </em>  

类别中的项目设置为“打开”,“关闭”或“冻结”,我尝试将其设置为仅显示“打开”项目的数量,并且不包括任何关闭或冻结项目

<?php

// no direct access
defined('_JEXEC') or die('Restricted access'); 

$document =& JFactory::getDocument();
$html = '<link href="'.JURI::base(). 'modules/mod_glance_categories/css/style.css" rel="stylesheet" type="text/css" />';
$document->addCustomTag( $html );

$n = 0;
if(count($rows) > 0){

?>
<table width="100%" cellpadding="0" cellspacing="0">
<?php
foreach ( $rows as $row ) 
{
 $n++;
if($n ==1){?>
<tr>   
<?php 
}
if($n <= $columns){
?>
 <td align="left" valign="top" >
 <?php $link_proj_categ = JRoute::_('index.php?option=com_glance&task=categproj&id='.$row->id);?>
 <a href="<?php echo $link_proj_categ;?>" class="tpf_tcatnode">
 <strong><?php echo $row->categories; ?></strong>
 <em>(<?php echo $row->counter ;?>) </em>
 </a>
  </td>
 <?php 
 }
 if($n == $columns){?>
  </tr> 
  <?php 
 $n =0;
   }  
}
$n++;
if($n <= $columns){
 for($x=$n;$x<=$columns;$x++){?>
  <td>&nbsp;</td>
 <?php
}?> 
 </tr> 
 <?php 
 } ?>

  </table>
  <?php } ?>

2 个答案:

答案 0 :(得分:0)

如果你想要“如果状态是开放的”,那么你的if语句应如下所示:

if(count($rows) > 0 && ($row->status) == "open"){
      // Do something
}

但是,在您的代码中,有$ n,未使用。 $ rows和$ row未初始化。 $ rows和$ row是不同的变量(我希望你理解那部分)。 :)

答案 1 :(得分:0)

如果没有更多细节,我会说你的答案是下列之一:(我假设条件中的2个变量应该是相同的。)

if(count($rows) > 0 && $rows->status) == "open"){
if(count($rows) > 0 && $rows[0]->status == "open"){
if(count($rows) > 0 && $rows['status'] == "open"){
if(count($rows) > 0 && $rows[0]['status'] == "open"){