Php 使用mysql\u fetch\u数组将记录放在列中相邻的位置?
我使用mysql_fetch_数组从mysql结果集中获取数据:Php 使用mysql\u fetch\u数组将记录放在列中相邻的位置?,php,sql,mysql,html,database,Php,Sql,Mysql,Html,Database,我使用mysql_fetch_数组从mysql结果集中获取数据: while($row = mysql_fetch_array($qry_result)){ 接下来,我想将数据放入表中的列中,但每行最多两列 因此,使用表: <table> <tr> <td>Record Here</td> <td>Record Here</td> </tr> <tr>
while($row = mysql_fetch_array($qry_result)){
接下来,我想将数据放入表中的列中,但每行最多两列
因此,使用表:
<table>
<tr>
<td>Record Here</td>
<td>Record Here</td>
</tr>
<tr>
<td>Record Here</td>
<td>Record Here</td>
</tr>
<tr>
<td colspan="2">Record Here</td>
</tr>
在这里记录
在这里记录
在这里记录
在这里记录
在这里记录
如上所述,我希望循环结果并在循环中创建表列
这使得记录在结果页面上排列成两行两行
请记住,如果记录数为奇数,那么最后一个表列需要colspan为2,或者可能只使用空列
有人知道怎么做吗
如果我在while循环中使用for循环,我只需要为每个while循环将相同的记录排列x次。迷惑
有什么想法吗
谢谢像这样的东西应该有用
<table>
<?php
while(true) {
$row1 = mysql_fetch_array($qry_result);
if($row1 === false) break;
$row2 = mysql_fetch_array($qry_result);
if($row2 !== false) {
echo "<tr><td>$row1</td><td>$row2</td></tr>";
} else {
echo "<tr><td coslspan=\"2\">$row1</td></tr>";
break; // output the final row and then stop looping
}
}
?>
</table>
在while
循环中实现一个(1索引)计数器。然后添加(在循环之后):
if($counter%2)
回声';
如果最后一列只包含一行,这将在表中留下额外的空白单元格。
<table>
<tr>
<?
$i=1;
$num = mysql_num_rows($qry_result);
while($row = mysql_fetch_array($qry_result)){
if($i%2==1)
?>
<tr>
<?
?>
<td <? if($i==$num && $i%2==1)echo 'colspan="2"';?>><?=$row['keyName']?></td>
<?
if($i%2==0)
{
<?
</tr>
?>
}
$i++;
}
?>
}
$i++;
}
?>
u要水平或垂直记录序列?您可以一次提取2条记录,或者先将结果填充到一个数组中,这样可能更容易处理。是否需要更详细地解释一下?1-indexed counter?读取MySQL记录(1-indexed)后,从
$counter=1
开始,不像PHP数组从索引0(0-indexed)开始。
<table>
<tr>
<?
$i=1;
$num = mysql_num_rows($qry_result);
while($row = mysql_fetch_array($qry_result)){
if($i%2==1)
?>
<tr>
<?
?>
<td <? if($i==$num && $i%2==1)echo 'colspan="2"';?>><?=$row['keyName']?></td>
<?
if($i%2==0)
{
<?
</tr>
?>
}
$i++;
}
?>