Foreach 增量 php
Foreach increment in php
我有一个最多运行 50 次的 for 循环。在我的 codeigniter 视图中,我有
Year Id
2015 1000001
2015 1000002
我已经使用以下命令获取数据库值
$data['get_data']=$this->get_data_model->getSeating();
我想在视图中将数据库值设置为sno、year、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
这样怎么样:
<?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 } ?>
您应该使用 for 而不是使用 foreach 循环。
像这样:
<?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 是否是 $row 的有效索引:
isset($row[$i]) ? <td align="left"><?=$row[$i]->year?></td> : '';
这是基本思路(如果你愿意,可以将它们放在一个循环中):
<?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;
}
?>
我有一个最多运行 50 次的 for 循环。在我的 codeigniter 视图中,我有
Year Id
2015 1000001
2015 1000002
我已经使用以下命令获取数据库值
$data['get_data']=$this->get_data_model->getSeating();
我想在视图中将数据库值设置为sno、year、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
这样怎么样:
<?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 } ?>
您应该使用 for 而不是使用 foreach 循环。 像这样:
<?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 是否是 $row 的有效索引:
isset($row[$i]) ? <td align="left"><?=$row[$i]->year?></td> : '';
这是基本思路(如果你愿意,可以将它们放在一个循环中):
<?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;
}
?>