Php 排列MySQL查询的数组结果

Php 排列MySQL查询的数组结果,php,mysql,arrays,multidimensional-array,Php,Mysql,Arrays,Multidimensional Array,我正在根据数据库中的库存制作一个小册子生成器。由于纸质宣传册的外观,项目的显示顺序与mysql_fetch_数组的工作方式不匹配。每个用户选择的类别在2X2网格中包含四个项目 Category 1 ---------Category 2 [1] [2] ---------[5] [6] [3] [4] ---------[7] [8] Category 3 ---------Category 4 [9] [10] ---------[13] [14] [11] [

我正在根据数据库中的库存制作一个小册子生成器。由于纸质宣传册的外观,项目的显示顺序与mysql_fetch_数组的工作方式不匹配。每个用户选择的类别在2X2网格中包含四个项目

Category 1 ---------Category 2
[1]  [2]   ---------[5]   [6]
[3]  [4]   ---------[7]   [8]
Category 3 ---------Category 4
[9]  [10]   ---------[13]   [14]
[11]  [12]  ---------[15]   [16]
我已经创建了一个基本表作为此模式中项目的占位符。这是我检索项目的查询

$query = "SELECT t1.*, image_path FROM flyer_item AS t1
LEFT JOIN product_images AS t2 ON t1.product_id = t2.product_id WHERE id_page = '".$id_page."'";
echo $query."<br>";

$result = mysql_query($query);
echo '<h3 class = "splitter">Items</h3>';
//-create while loop and loop through result set
//Due to the unique item arrangement patter, we fill
//an array with the fetched array results.
$iArray = array();
while($row=mysql_fetch_array($result))
{
    $iArray[] = $row;
    $square = $row['square'];
    $item_name = $row['item_name'];
    $sales_info = $row['sales_info'];
    $link = $row['image_path'];
    $sku_item_number = $row['sku_item_number'];
    if (empty($link))
    {
        $link = '../imagen/no_imagen.gif';        
    }


}
$query=“选择t1.*,将传单项目的图像路径设置为t1
在t1上将product_图像作为t2左键连接。product_id=t2。product_id,其中id_page='“$id_page.”;
echo$query。“
”; $result=mysql\u query($query); 回应“项目”; //-创建while循环和循环结果集 //由于独特的项目安排模式,我们填写 //具有获取的数组结果的数组。 $iArray=array(); while($row=mysql\u fetch\u数组($result)) { $iArray[]=$row; $square=$row['square']; $item_name=$row['item_name']; $sales_info=$row['sales_info']; $link=$row['image_path']; $sku_项目编号=$row['sku_项目编号']; if(空($link)) { $link='../imagen/no_imagen.gif'; } }
一个页面最多可以容纳24个项目,所有项目都遵循上述模式,以确保项目处于各自的类别中。我正在考虑创建另一个名为Categories的数据库表来存储它的四个项目,但是有没有一种方法可以使用第二个数组iArray来存储指示项目应该去哪里的数字

实际表如下所示,以匹配原始文档

<table width="100%" border="1" bordercolordark="#000000" bordercolorlight="#000000">
  <tr>
    <td>&nbsp;</td>
    <td colspan="2" align="center"><?php echo $category1; ?></td>
    <td>&nbsp;</td>
    <td colspan="2" align="center"><?php echo $category2; ?></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>Item 1</td>
    <td>Item 2</td>
    <td>&nbsp;</td>
    <td>Item 5</td>
    <td>Item 6</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>Item 3</td>
    <td>Item 4</td>
    <td>&nbsp;</td>
    <td>Item 7</td>
    <td>Item 8</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
   <td>&nbsp;</td>
    <td colspan="2" align="center"><?php echo $category3; ?></td>
    <td>&nbsp;</td>
    <td colspan="2" align="center"><?php echo $category4; ?></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>Item 9</td>
    <td>Item 10</td>
    <td>&nbsp;</td>
    <td>Item 13</td>
    <td>Item 14</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>Item 11</td>
    <td>Item 12</td>
    <td>&nbsp;</td>
    <td>Item 15</td>
    <td>Item 16</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td colspan="2" align="center"><?php echo $category5; ?></td>
    <td>&nbsp;</td>
    <td colspan="2" align="center"><?php echo $category6; ?></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>Item 17</td>
    <td>Item 18</td>
    <td>&nbsp;</td>
    <td>Item 21</td>
    <td>Item 22</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>Item 19</td>
    <td>Item 20</td>
    <td>&nbsp;</td>
    <td>Item 23</td>
    <td>Item 24</td>
    <td>&nbsp;</td>
  </tr>

</table>

项目1
项目2
项目5
项目6
项目3
项目4
项目7
项目8
项目9
项目10
项目13
项目14
项目11
项目12
项目15
项目16
项目17
项目18
项目21
项目22
项目19
项目20
项目23
项目24

这可能无助于回答您的问题,但您应该停止使用
mysql.*
函数。他们被弃用了。改为使用(从PHP5.1开始支持)或(从PHP4.1开始支持)。如果您不确定使用哪一个,请参考。您的问题中没有任何地方显示查询。我所看到的只是表“结构”和PHP代码。每个类别是否总是有四个项目?你说每个页面可以存储24个项目,所以我假设每个页面上可以有6个类别-在这种情况下,5和6出现在页面底部,或者在右边?如果您唯一的问题是不知道如何为每个类别获取4个项目,然后转到下一个类别:尝试使用($i=0;…对数组元素进行迭代,并使用
floor($i/4)计算“类别索引”
。这是正确的。每个类别保证有四个项目。实际上有两种不同类型的页面。“首页”有一个花哨的页眉,这会占用空间,因此这些页面只有四个类别和16个项目。额外的页面空间更大,因此总共有六个类别和24个项目。