smarty foreach 实现自动生成多行多列table
效果图

html
<tr>
<td><label for="" class="control-label">支持协议:</label></td>
<td><input type="text" class='my_input' name="agreement" id="agreement" /> </td>
<td><label for="" class="control-label">外观颜色:</label></td>
<td><select name="appearance_color" id="appearance_color" class="easyui-combobox" style="height:28px;width:160px;" editable=false ><option value='蓝色'>蓝色</option>
<option value='红色'>红色</option>
<option value='白色'>白色</option>
</select>
</td>
</tr>
<tr>
<td><label for="" class="control-label">上市时间:</label></td>
<td><input type="text" class='my_input laydate-icon' style='height:29px;' onclick="laydate({istime: true, format: 'YYYY-MM-DD hh:mm:ss'})" readonly value="1970-01-01 07:33:42" name="market_time" id="market_time" /> </td>
<td><label for="" class="control-label">产品等级:</label></td>
<td><select name="grade" id="grade" class="easyui-combobox" style="height:28px;width:160px;" editable=false ><option value='普通款'>普通款</option>
<option value='一级品'>一级品</option>
<option value='特级品'>特级品</option>
</select>
</td>
</tr>
<tr>
<td><label for="" class="control-label">支持接口:</label></td>
<td><select name="interface" id="interface" class="easyui-combobox" style="height:28px;width:160px;" editable=false >
<option value='Type-C'>Type-C</option>
<option value='Usb'>Usb</option>
</select>
</td>
</tr>
smarty 代码
<{foreach $items as $r name=row_name }>
<{if $smarty.foreach.row_name.index%2==0}>
<tr>
<{/if}>
<td><label for="<{$r['id']}>" class="control-label"><{$r['field_display_name']}>:</label></td>
<td><{$r['html']}> </td>
<{if $smarty.foreach.row_name.index%2!=0}>
</tr>
<{else}>
<{if $smarty.foreach.row_name.last==true}>
</tr>
<{/if}>
<{/if}>
<{/foreach}>
其中
$smarty.foreach.row_name.index%2==0 偶数行
$smarty.foreach.row_name.index%2!=0 奇数行
$smarty.foreach.row_name.last==true 最后一行
php代码
$smarty->assign('items',$forms);

浙公网安备 33010602011771号