尝试在表格中输出以下内容:
| 1 | 2 |
1 | 1 | 2 |
2 | 3 | 4 |
(前1,2表示列标题。左1,2表示行标题)
代码
<?php
$rows_count = 2;
$cols_count = 2;
?>
<?php if($rows_count > 0): ?>
<table>
<tr>
<th></th>
<?php for ( $cols = 1; $cols <= $cols_count; $cols++ ) : ?>
<th><?php echo get_post_meta( $post_id, $prefix . 'col_title_' . $cols, true ); ?></th>
<?php endfor; ?>
</tr>
<?php for ( $rows = 1; $rows <= $rows_count; $rows++ ) : ?>
<tr>
<th><?php echo get_post_meta( $post_id, $prefix . 'row_title_' . $rows, true ); ?></th>
<?php for ( $cells = 1; $cells <= $cols_count; $cells++ ) : ?>
<td><?php echo get_post_meta( $post_id, $prefix . 'cell_value_' . $cells, true ); ?> <?php echo $cells; ?></td>
<?php endfor; ?>
</tr>
<?php endfor; ?>
</table>
<?php endif; ?>
问题,如何让它输出上面的表格?所以基本上需要在下一行循环中继续使用$ cells。
即第1行值1,值为2 第2行第3行,第4行
提前感谢您的帮助。
答案 0 :(得分:1)
在那里某处遗漏<?php endif; ?>
。也许低于</table>
?此外,在您的代码开头缺少?>
,我想在开始新的$cols_count = 2;
阻止之前<?php
以下?
get_post_meta
,您可以将其重新添加。
<?php
$rows_count = 2;
$cols_count = 2;
$current_cell_value = 1;
?>
<?php if($rows_count > 0): ?>
<table>
<tr>
<th></th>
<?php for ( $cols = 1; $cols <= $cols_count; $cols++ ) : ?>
<th><?php echo $cols ?></th>
<?php endfor; ?>
</tr>
<?php for ( $rows = 1; $rows <= $rows_count; $rows++ ) : ?>
<tr>
<th>
<?php echo $rows ?>
</th>
<?php for ( $cells = 1; $cells <= $cols_count; $cells++ ) : ?>
<td><?php echo $current_cell_value++ ?></td>
<?php endfor; ?>
<?php endfor; ?>
</tr>
</table>
<?php endif; ?>
答案 1 :(得分:0)
使用另一个变量来保存跨行的计数。
<?php
$rows_count = 2;
$cols_count = 2;
$counter = 1;
?>
<?php if($rows_count > 0): ?>
<table>
<tr>
<th></th>
<?php for ( $cols = 1; $cols <= $cols_count; $cols++ ) : ?>
<th><?php echo get_post_meta( $post_id, $prefix . 'col_title_' . $cols, true ); ?></th>
<?php endfor; ?>
</tr>
<?php for ( $rows = 1; $rows <= $rows_count; $rows++ ) : ?>
<tr>
<th><?php echo get_post_meta( $post_id, $prefix . 'row_title_' . $rows, true ); ?></th>
<?php for ( $cells = 1; $cells <= $cols_count; $cells++ ) : ?>
<td><?php echo get_post_meta( $post_id, $prefix . 'cell_value_' . $cells, true ); ?> <?php echo $counter++; ?></td>
<?php endfor; ?>
</tr>
<?php endfor; ?>
</table>
<?php endif; ?>
&#13;