0

我需要将数组分解成块,但它是包含多个值的 mysql 查询的结果。它看起来像这样:

$minQuery = "SELECT typeName, typeID FROM  invTypes WHERE groupID = '18'";

$con = mysqli_connect('127.0.0.1', $username, $password, 'sdeodyssey107');
$result = mysqli_query($con,$minQuery);

我需要做的是能够一次将这个结果分成 3 行。我似乎无法找到让 array_chunk 处理多个值的方法,并且我尝试使用 while 循环的所有内容最终都会导致我每行多次重复相同的值。

有谁知道处理这个的好方法?将打印的行如下所示:

echo '<td align="right">' . $typeName . ': <input type="text" size="25" name="' . $typeName . '|' . $itemID . '"';if(isset($_GET["$cleanTypeName|$itemID"])) echo 'value="'.$_GET["$cleanTypeName|$itemID"].'"';echo '></td>';

...因此,每次调用打印这些行的函数时,我都需要使这两个值都可用...。

4

1 回答 1

0
<?php
  $i = 1;
  $count = count($result) - 3;
  echo '<tr/>';
  foreach($result as $key => $value)
  {
    if ($i % 3 === 0 && $i > 3) echo '<tr>';
    foreach ($value as $subKey => $subValue)
    {
     echo '<td align="right">' . $value['typeName'] . ': <input type="text" size="25" name="' . $value['typeName'] . '|' . $value['itemID'] . '"';if(isset($_GET["$cleanTypeName|$itemID"])) echo 'value="'.$_GET["$cleanTypeName|$itemID"].'"';echo '></td>'; 
    }
    if ($i % 3 === 0 && $i < $count) echo '</tr>';
    $i++;
  }
  echo '</tr>';
于 2013-09-10T04:28:04.270 回答