Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用mysql\u fetch\u数组将记录放在列中相邻的位置?_Php_Sql_Mysql_Html_Database - Fatal编程技术网

Php 使用mysql\u fetch\u数组将记录放在列中相邻的位置?

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>

我使用mysql_fetch_数组从mysql结果集中获取数据:

  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++;
}
?>