2015-03-02 54 views
0

我有一个for循环运行多达50次。在我笨鉴于我有在PHP中的Foreach增量

Year   Id 
2015   1000001 
2015   1000002 

我使用下面的命令

$data['get_data']=$this->get_data_model->getSeating(); 

我想设置的数据库值到SNO,今年,ID在视图中有获取数据库的价值。但我的数据库只有2列。

<?php $i=1; if(@$get_data) 
     { 
      foreach($get_data as $row):  
    ?> 
    <tr> 
     <td align="center" height="35"><?=$i?></td> 
     <td align="left"><?=$row->year?></td> 
     <td align="left"><?=$row->id?></td> 
    </tr> 
    <?php 
     $i++; 
     endforeach; 
    } 

这将只显示2行。因为我的数据库只有两个值。但即使数据不在数据库中,我也需要分配50行。
例如,在我的例子,我想在我看来,以显示

通常它这样表示

Sno Year ID 
1  2015 100001 
2  2015 100002 

但是我想表明这样

Sno Year ID 
1  2015 100001 
2  2015 100002 
3 
4 
5 
...... 
50 
+2

那么,这是什么问题?你有没有收到任何错误信息? – kidA 2015-03-02 09:43:41

+1

我没有得到错误,但我想显示上面的视图。 – 2015-03-02 09:45:28

+1

SO不是一个编码服务,试一下,我们会帮你 – 2015-03-02 09:52:06

回答

1

这里是基本的想法(你可以把它们放在一个循环,如果你喜欢) :

<?php 
$i=1; 
if(@$get_data) { 
    foreach($get_data as $row):  
?> 
    <tr> 
     <td align="center" height="35"><?=$i?></td> 
     <td align="left"><?=$row->year?></td> 
     <td align="left"><?=$row->id?></td> 
    </tr> 
<?php 
    $i++; 
    endforeach; 
} 
    for($j=$i; $j<51;$j++): 
?> 
    <tr> 
     <td align="center" height="35"><?=$j?></td> 
     <td align="left"></td> 
     <td align="left"></td> 
    </tr> 
<?php 
    endfor; 
} 
?> 
0

这个怎么样:

<?php for($x=1; $x<51; $x++){?> 
    <tr> 
     <td align="center" height="35"><?=$x?></td> 
     <td align="left"><?=$get_data[$x]->year?></td> 
     <td align="left"><?=$get_data[$x]->id?></td> 
    </tr><?php } ?> 
+1

如果$ get_data [$ x]没有成员集,将导致错误。在显示之前更好地检查它。 – Gogol 2015-03-02 09:53:56

+0

使用'isset'函数来防止类似isset($ get_data [$ x])的错误' – Bora 2015-03-02 09:54:19

0

而不是使用foreach循环,你应该使用一个for instea d。 事情是这样的:

<?php 
for(i=0;i <= 50;i++){ 
?> 
    <tr> 
    <td align="center" height="35"><?=$i?></td> 
    <td align="left"><?=$row[$i]->year?></td> 
    <td align="left"><?=$row[$i]->id?></td> 
</tr> 
<?php 
} 
?> 

您也应该检查是否$ i是$行有效的索引:

isset($row[$i]) ? <td align="left"><?=$row[$i]->year?></td> : '';