更改字符串中的值而不是硬编码

时间:2013-09-26 06:07:48

标签: php mysql

专家可以选择在category_level

中自动增加+1

代表$cond_cat=" where category_level='1' and ID='$sleads' ";而不是$cond_cat=" where category_level='2' and parent_id ='$sleads' ";

我的代码如下。

 <?php
    include('classes/global.php');
    $CT=new Product();
    $AdminObj=new Admin();
    $sleads=$_REQUEST['sleads'];
    $cond_cat=" where category_level='1' and ID='$sleads' ";
    $catResult_cond=$CT->getCategory($cond_cat);
    $cond_cat=" where category_level='2' and parent_id ='$sleads' ";
    $subCatResult_cond=$CT->getCategory($cond_cat);

    ?>

1 个答案:

答案 0 :(得分:0)

您可能希望尝试递归地将子类别作为您所属子类别的子类。

<?php

  function getSubCategories($level) {
    // you should obviously get the $sleads variable in here, for this to work.
    $cond_cat = "where category_level='%d' and ID='$sleads' ";
    $subcategories = $CT->getCategory(sprintf($cond_cat, $level));
    if (count($subcategories) > 0) {
      foreach($subcategories as $subcategory) {
        $subcategory->subcategories = $CT->getCategory(sprintf($cond_cat, $level+1));
      }
    }
    return $subcategories;
  }

  $i = 1;
  $categories = getSubCategories($i);

?>

这会得到类似的东西:

// $categories         // first level
// foreach($categories as $cat) {
  // $cat->subcategories // second level categories
  // foreach($cat->subcategories as $subcategory) {
    // $subcategory->subcategories // third level
  // }
// }
// and so on

请注意我假设您的$CT->getCategory函数返回一组类别记录 如果不是这种情况(考虑到您还在查询中添加了ID =“”),您还应该更改该函数,或使用返回多个类别记录的函数。

相关问题