2015-03-02 117 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> : '';