【问题标题】:Displaying products available in each parent category显示每个父类别中可用的产品
【发布时间】:2012-12-04 12:23:57
【问题描述】:

我正在使用 osCommerce 创建一个报告页面来显示每天销售的农产品总量。这是迄今为止我用来显示类别和子类别的标记:

<table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr class="dataTableHeadingRow">
<td class="dataTableHeadingContent"><?php echo TABLE_HEADING_PRODUCTS; ?></td>
<td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_TOTAL_WEIGHT; ?>&nbsp;</td>
</tr>


<?php


function category_list( $category_parent_id = 0 )
{
   $sql  = 'select cd.categories_name,c.categories_id, c.parent_id, c.sort_order from ' . TABLE_CATEGORIES . ' c, ' . TABLE_CATEGORIES_DESCRIPTION . ' cd where c.categories_id = cd.categories_id AND c.parent_id='.$category_parent_id;
   $res  = tep_db_query( $sql );
   $cats = array();


    while ( $cat = tep_db_fetch_array( $res ) )
  {
    $cats[] = $cat;
  }




   if (count($cats) == 0)
    {
  return '';
  }


$list_items = array();

foreach ( $cats as $cat )
{
$list_items[] = '<tr class="dataTableRow"><td class="dataTableContent">'; 
if($category_parent_id != 0)$list_items[] = '&nbsp;&nbsp;&nbsp;';
if($category_parent_id == 0)$list_items[] = '<b>';
$list_items[] = $cat['categories_name'];


if($category_parent_id == 0)$list_items[] = '</b>';
$list_items[] = '</td><td class="dataTableContent">';
$list_items[] = category_list( $cat['categories_id'] );
$list_items[] = '</td></tr>'; 
}
$list_items[] = '';

return implode( '', $list_items );

}  

echo category_list();


?>

</table>

我想在子类别之后显示的是每个产品中的产品,这意味着使用TABLE_PRODUCTS_TO_CATEGORIES 表。我有以下代码用于计算产品$query = 'SELECT COUNT(*) FROM '.TABLE_PRODUCTS_TO_CATEGORIES.' WHEREcategories_id` = "'.$cat['categories_id'].'"';。

我会在哪里将它放入我的标记中,我将如何展示产品?

【问题讨论】:

    标签: php mysql arrays categories


    【解决方案1】:

    为什么不在您使用的同一查询中 JOIN 表 TABLE_PRODUCTS_TO_CATEGORIES 像这样:

    select 
      cd.categories_name,
      c.categories_id, 
      c.parent_id, 
      c.sort_order,
      p.* -- You can here select the products details you want to select.
    from TABLE_CATEGORIES  c
    INNER JOIN TABLE_CATEGORIES_DESCRIPTION cd ON c.categories_id = cd.categories_id 
    INNER JOIN TABLE_PRODUCTS_TO_CATEGORIES p  ON p.categories_id = c.categories_id 
    WHERE c.parent_id = '.$category_parent_id
    

    【讨论】:

      【解决方案2】:

      这是获取产品的想法,您在哪里检查类别,您还可以获取 CATEGORIES_ID

      之后只需进行另一个查询并调用相同的过程

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-09-02
        • 2018-01-17
        • 2021-07-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-16
        相关资源
        最近更新 更多