Jump to content

Need Help To Fix A Php Code


Recommended Posts

I've a problem with my code. I want to fetch rows from mysql by category. I've 3 tables (categories,subcategories & childcategories). If the code works properly, it will look like,

 

categories=parent table, subcategories=children table of categories, childcategories=children of subcategories and sibling table of categories

cid,scid,ccid=unique numbers

cid=categories.cid (10digit), scid=subcategories.scid (8digit), ccid=childcategories.ccid (6digit)

 

HOW IT WILL LOOK IN HTML OUTPUT:

 

IF EVERY TABLE HAS CHILD ELEMENTS:

- item-1

- item-1a

- item-1a1

- item-1b

- item-1b1

 

IF 1ST ROW IS A CHILD OF SUBCATEGORIES & 2ND ROW OF SUBCATEGORIES DOESN'T HAVE ANY CHILD ELEMENTS:

- item-1

- item-1a

- item-1a1

- item-1b

 

IF 1ST ROW IS A CHILD OF CATEGORIES & 2ND ROW OF CATEGORIES DOESN'T HAVE ANY CHILD ELEMENTS:

- item-1

- item-1a

- item-2

 

IF ANY OF CATEGORIES DOESN'T HAVE ANY CHILD ELEMENTS:

- item-1

- item-2

 

HOW IT LOOKS IN PHPMYADMIN:

table:categories

 

table:subcategories

table:childcategories

 

HERE IS THE CODES:

panels.php

 <?php
$db2 = $wnd->getDatabase("listings");
$wn  = new WhatsNew($db2);
foreach ($wn->getCategories() as $key => $cat) {
    if ($cat['subcats'] > 0) {
        if ($cat['childcats'] > 0) {
            echo '<div data-role="collapsible" data-inset="false" data-collapsed-icon="plus" data-expanded-icon="minus" data-iconpos="right" id="' . $cat['id'] . '">';
            if ($cat['status'] == '2') {
                echo "<h3>" . $wn->getItemIcon($cat['cid'], "W_TAG-MAINCAT") . "<font color='grey'>{$cat['name']}</font></h3>";
            } else {
                echo "<h3>" . $wn->getItemIcon($cat['cid'], "W_TAG-MAINCAT") . "{$cat['name']}</h3>";
            }
            foreach ($wn->getSubCategories($cat['cid']) as $key => $subcat) {
                if ($subcat['childcats'] > 0) {
                    echo '<div data-role="collapsibleset" data-theme="<?=$theme;?>" data-content-theme="<?=$content_theme;?>" data-inset="false" data-corners="false" style="padding:0px;margin-top:-10px;">';
                    echo '<div data-role="collapsible" data-collapsed-icon="carat-d" data-expanded-icon="carat-d" data-iconpos="right" data-inset="false">';
                    if ($subcat['status'] == '2') {
                        echo "<h1 style='color:grey;'>" . $wn->getItemIcon($cat['cid'], $subcat['scid'], "W_TAG-SUBCAT") . "{$subcat['name']}</h1>";
                    } else {
                        echo "<h1><a style='text-decoration:inherit;color:inherit;' href='#" . $subcat['scid'] . "'>" . $wn->getItemIcon($cat['cid'], $subcat['scid'], "W_TAG-SUBCAT") . "{$subcat['name']}</a></h1>";
                    }
                    echo "<ul data-role='listview'>";
                    foreach ($wn->getChildCategories($cat['cid'], $subcat['scid']) as $key => $childcat) {
                        if ($childcat['status'] == '2') {
                            echo "<li style='color:grey;'>" . $wn->getItemIcon($cat['cid'], $subcat['scid'], $childcat['ccid'], "W_TAG-CHILDCAT") . "{$childcat['name']}</li>";
                        } else {
                            echo "<li><a href='products.php?cid=" . $cat['cid'] . "&scid=" . $subcat['scid'] . "&ccid=" . $childcat['ccid'] . "'>" . $wn->getItemIcon($cat['cid'], $subcat['scid'], $childcat['ccid'], "W_TAG-CHILDCAT") . "{$childcat['name']}</a></li>";
                        }
                    }
                    echo "</ul>";
                    echo "</div></div>";
                } else {
                    echo "<ul data-role='listview'>";
                    if ($subcat['status'] == '2') {
                        echo "<li style='color:grey;'>" . $wn->getItemIcon($cat['cid'], $subcat['scid'], "W_TAG-SUBCAT") . "{$subcat['name']}</li>";
                    } else {
                        echo "<li style='margin:-8px;margin-top:-5px;padding-right:8px;padding-top:0px;padding-bottom:4px;'><a href='products.php?cid=" . $cat['cid'] . "&scid=" . $subcat['scid'] . "'>" . $wn->getItemIcon($cat['cid'], $subcat['scid'], "W_TAG-SUBCAT") . "{$subcat['name']}</a></li>";
                    }
                    echo "</ul>";
                }
            }
            echo "</div>";
        } else {
            echo '<div data-role="collapsible" data-corners="false" data-inset="false" data-collapsed-icon="carat-d" data-expanded-icon="carat-d" data-iconpos="right" id="' . $cat['id'] . '">';
            if ($cat['status'] == '2') {
                echo "<h3>" . $wn->getItemIcon($cat['cid'], "W_TAG-MAINCAT") . "<font color='grey'>{$cat['name']}</font></h3>";
            } else {
                echo "<h3>" . $wn->getItemIcon($cat['cid'], "W_TAG-MAINCAT") . "{$cat['name']}</h3>";
            }
            echo "<ul data-role='listview'>";
            foreach ($wn->getSubCategories($cat['cid']) as $key => $subcat) {
                if ($subcat['status'] == '2') {
                    echo "<li>" . $wn->getItemIcon($cat['cid'], $subcat['scid']) . "{$subcat['name']}</li>";
                } else {
                    echo "<li><a href='products.php?cid=" . $cat['cid'] . "&scid=" . $subcat['scid'] . "'>" . $wn->getItemIcon($cat['cid'], $subcat['scid'], "W_TAG-SUBCAT") . "{$subcat['name']}</a></li>";
                }
            }
            echo "</ul>
                                        </div>";
        }
    } else {
        echo "<ul data-role='listview'>";
        if ($cat['status'] == '2') {
            echo "<li style='color:grey;'>" . $wn->getItemIcon($cat['cid'], "W_TAG-MAINCAT") . "{$cat['name']}</li>";
        } else {
            echo "<li><a href='products.php?cid=" . $cat['cid'] . "'>" . $wn->getItemIcon($cat['cid'], "W_TAG-MAINCAT") . "{$cat['name']}</a></li>";
        }
        echo "</ul>";
    }
}
?>
WhatsNew.base.php

<?php
function getCatType(){
        $args=func_get_args();
        $cid=$args[0];
        $scid=$args[1];
        $ccid=$args[2];
        $ccid=$args[3];
        $ret=array();
        if(empty($cid) && empty($ccid) && empty($scid) || !is_numeric($cid) && !is_numeric($ccid) && !is_numeric($scid)){
            $ret['query_name']="Categories";
            $ret['query_table']="categories";
        } elseif((!empty($cid) && is_numeric($cid)) && (empty($ccid) && empty($scid) || !is_numeric($ccid) && !is_numeric($scid))){
            $ret['query_name']="Categories";
            $ret['query_table']="categories";
            $ret['query_table_condition']="cid='$cid'";
        }
         elseif((!empty($cid) && !empty($scid) && is_numeric($cid) && is_numeric($scid)) && (empty($ccid) && !is_numeric($ccid))){
            $ret['name']="Categories";
            $ret['table']="Categories";
            $ret['query_name']="Sub-categories";
            $ret['query_table']="subcategories";
            $ret['query_table_condition']="cid='$cid' AND scid='$scid'";
        } elseif(!empty($cid) && !empty($scid) && !empty($ccid) && is_numeric($cid) && is_numeric($scid) && is_numeric($ccid)){
            $ret['name']="Sub-categories";
            $ret['table']="subcategories";
            $ret['query_name']="Child-categories";
            $ret['query_table']="childcategories";
            $ret['query_table_condition']="cid='$cid' AND scid='$scid' AND ccid='$ccid'";
        } elseif(!empty($cid) && !empty($scid) && !empty($ccid) && !empty($pid) && is_numeric($cid) && is_numeric($scid) && is_numeric($ccid) && is_numeric($pid)){
            $ret['name']="Child-categories";
            $ret['table']="childcategories";
            $ret['query_name']="Products";
            $ret['query_table']="products";
            $ret['query_table_condition']="cid='$cid' AND scid='$scid' AND ccid='$ccid' AND pid='$pid'";
        }
        return $ret;
    }
    function getOidParams($param=array()){
        $return=array();
        foreach($param as $key){
            if(is_numeric($key)){
                if(strlen($key)==10){
                    $return['cid']=$key;
                }
                if(strlen($key)==8){
                    $return['scid']=$key;
                }
                if(strlen($key)==6){
                    $return['ccid']=$key;
                }
                if(strlen($key)==4){
                    $return['pid']=$key;
                }
            }
        }
        return $return;
    }
    function isIconHidden(){
        $args=func_get_args();
        $cid=$args[0];
        $scid=$args[1];
        $ccid=$args[2];
        if($q=db_query("SELECT showicon FROM $this->getCatType($cid,$scid,$ccid)['table'] WHERE $this->getCatType($cid,$scid,$ccid)['query_table_condition']",$this->db)){
            if(db_num_rows($q)>0){
                $r=db_fetch_array($q);
                return $r['showicon'];
            }
        }
    }
    function getItemIcon(){
        $args=func_get_args();
        $param=array($args[0],$args[1],$args[2],$args[3]);
        $tbl=$this->getCatType($this->getOidParams($param)['cid'],$this->getOidParams($param)['scid'],$this->getOidParams($param)['ccid'],$this->getOidParams($param)['pid'])['query_table'];
        $tbl_cond=$this->getCatType($this->getOidParams($param)['cid'],$this->getOidParams($param)['scid'],$this->getOidParams($param)['ccid'],$this->getOidParams($param)['pid'])['query_table_condition'];
        if($q=db_query("SELECT icon,icon_mime FROM $tbl WHERE $tbl_cond",$this->db)){
            if(db_num_rows($q)>0){
                $r=db_fetch_array($q);
                if($r['showicon']==0){
                    return "";
                } elseif($r['showicon']==1){
                    if(in_array("W_TAG-MAINCAT",$param)){
                        $ret="<div style='float:left;;'><img src='".bin2file($r['icon'],$r['icon_mime'])."' width='24' height='24'/></div>";
                    } elseif(in_array("W_TAG-SUBCAT",$param)){
                        $ret="<div style='float:left;'><img src='".bin2file($r['icon'],$r['icon_mime'])."' width='24' height='24'/></div>";
                    } elseif(in_array("W_TAG-CHILDCAT",$param)){
                        $ret="<div style='float:left;margin-left:10px;'><img src='".bin2file($r['icon'],$r['icon_mime'])."' width='24' height='24'/></div>";
                    } elseif(in_array("W_TAG-PRODUCTCAT",$param)){
                        $ret="<div style='float:left;margin-left:15px;'><img src='".bin2file($r['icon'],$r['icon_mime'])."' width='24' height='24'/></div>";
                    } else {
                        $ret=bin2file($r['icon'],$r['icon_mime']);
                    }
                    return $ret;
                }
            }
        } else {
            echo error("Unable to query database! {$this->hcMsg}");
        }
    }
    function getSubCategoriesCount($cid){
        $sccq=db_query("SELECT scid FROM subcategories WHERE cid='$cid' AND status != '1' ORDER BY name ASC",$this->db);
        if($sccq){
            if(db_num_rows($sccq)>0){
                $sccr=db_fetch_array($sccq);
                $result=array("subcategories"=>array("scid"=>$sccr['scid'],"count"=>db_num_rows($sccq)));
            } else {
                $result=array("scid"=>"NULL","count"=>"0");
            }
            return $result;
        } else {
            echo error("Unable to query database! {$this->hcMsg}");
        }
    } //END FUNCTION: getSubCategoryCounts()
    function getChildCategoriesCount($cid,$scid){
        $cccq=db_query("SELECT ccid FROM childcategories WHERE cid='$cid' AND scid='$scid' AND status != '1' ORDER BY name ASC",$this->db);
        $result=array();
        if($cccq){
            if(db_num_rows($cccq)>0){
                $cccr=db_fetch_array($sccq);
                $result=array("childcategories"=>array("ccid"=>$cccr['ccid'],"count"=>db_num_rows($cccq)));
            } else {
                $result=array("ccid"=>"NULL","count"=>"0");
            }
            return $result;
        } else {
            echo error("Unable to query database! {$this->hcMsg}");
        }
    } //END FUNCTION: getChildCategoryCounts()
    function getProductsCount(){
        $args=func_get_args();
        $cid=$args[0];
        $scid=$args[1];
        $ccid=$args[2];
        if(!empty($cid) && !empty($scid) && !empty($ccid) && is_numeric($cid) && is_numeric($scid) && is_numeric($ccid)){
            $pcq=db_query("SELECT pid FROM products WHERE cid='$cid' AND scid='$scid' AND ccid='$scid' AND status != '1' ORDER BY name ASC",$this->db);
        } elseif((!empty($cid) && !empty($scid) && is_numeric($cid) && is_numeric($scid)) && (empty($ccid) && !is_numeric($ccid))){
            $pcq=db_query("SELECT pid FROM products WHERE cid='$cid' AND scid='$scid' AND ccid='' AND status != '1' ORDER BY name ASC",$this->db);
        } elseif((!empty($cid) && is_numeric($cid)) && (empty($ccid) && empty($scid) || !is_numeric($ccid) && !is_numeric($scid))){
            $pcq=db_query("SELECT pid FROM products WHERE cid='$cid' AND scid='' AND ccid='' AND status != '1' ORDER BY name ASC",$this->db);
        }
        if($pcq){
            if(db_num_rows($pcq)>0){
                return db_num_rows($pcq);
            } else {
                echo error("No products found in any categories!");
            }
        } else {
            echo error("Unable to query database! {$this->hcMsg}");
        }
    } //END FUNCTION: getProductsCount()
    function getCategories(){
        $cq1=db_query("SELECT * FROM categories WHERE status != '1' ORDER BY name ASC",$this->db);
        if($cq1){
            if(db_num_rows($cq1)>0){
                $result=array();
                while($cr1=db_fetch_array($cq1)){
                    foreach($cr1 as $key => $subArr){
                        unset($cr1['icon']);
                        unset($cr1['icon_mime']);
                        unset($cr1[2]);
                        unset($cr1[3]);
                    }
                    $cr1["subcats"]=$this->getSubCategoriesCount($cr1['cid'])['count'];
                    $cr1["childcats"]=$this->getChildCategoriesCount($cr1['cid'],$this->getSubCategoriesCount($cr1['cid'])['scid'])['count'];
                    array_push($result,$cr1);
                }
                return $result;
            } else {
                echo error("No categories found!");
            }
        } else {
            echo error("Unable to query database! {$this->hcMsg}");
        }
    } //END FUNCTION: getCategories()
    function getSubCategories($cid){
        $scq1=db_query("SELECT * FROM subcategories WHERE cid='$cid' AND status != '1' ORDER BY name ASC",$this->db);
        if($scq1){
            if(db_num_rows($scq1)>0){
                $result = array();
                while($scr1=db_fetch_array($scq1)){
                    foreach($scr1 as $key => $subArr){
                        unset($scr1['icon']);
                        unset($scr1['icon_mime']);
                        unset($scr1[2]);
                        unset($scr1[3]);
                    }
                    if($ccq=db_query("SELECT ccid FROM childcategories WHERE cid='$cid' AND scid='".$scr1['scid']."' AND status != '1' ORDER BY name ASC",$this->db)){
                        if(db_num_rows($ccq)>0){
                            while($ccr=db_fetch_array($ccq)){
                                $scr1["childcats"]=db_num_rows($ccq);
                            }
                        } else {
                            $scr1["childcats"]="0";
                        }
                    } else {
                        $scr1["childcats"]="0";
                    }
                    array_push($result,$scr1);
                }
                return $result;
            } else {
                echo error("No sub-categories found!");
            }
        } else {
            echo error("Unable to query database! {$this->hcMsg}");
        }
    } //END FUNCTION: getSubCategories()
    function getChildCategories($cid,$scid){
        $ccq1=db_query("SELECT * FROM childcategories WHERE cid='$cid' AND scid='$scid' AND status != '1' ORDER BY name ASC",$this->db);
        if($ccq1){
            if(db_num_rows($ccq1)>0){
                $result = array();
                while($ccr1=db_fetch_array($ccq1)){
                    foreach($ccr1 as $key => $subArr){
                        unset($ccr1['icon']);
                        unset($ccr1['icon_mime']);
                        unset($ccr1[2]);
                        unset($ccr1[3]);
                    }
                    array_push($result,$ccr1);
                }
                return $result;
            } else {
                echo error("No child-categories found!");
            }
        } else {
            echo error("Unable to query database! {$this->hcMsg}");
        }
    } //END FUNCTION: getChildCategories()
?>
Link to comment
Share on other sites

I've a problem with my code. I want to fetch rows from mysql by category. I've 3 tables (categories,subcategories & childcategories). If the code works properly, it will look like,

 

categories=parent table, subcategories=children table of categories, childcategories=children of subcategories and sibling table of categories

cid,scid,ccid=unique numbers

cid=categories.cid (10digit), scid=subcategories.scid (8digit), ccid=childcategories.ccid (6digit)

 

HOW IT WILL LOOK IN HTML OUTPUT:

 

IF EVERY TABLE HAS CHILD ELEMENTS:

- item-1

- item-1a

- item-1a1

- item-1b

- item-1b1

 

IF 1ST ROW IS A CHILD OF SUBCATEGORIES & 2ND ROW OF SUBCATEGORIES DOESN'T HAVE ANY CHILD ELEMENTS:

- item-1

- item-1a

- item-1a1

- item-1b

 

IF 1ST ROW IS A CHILD OF CATEGORIES & 2ND ROW OF CATEGORIES DOESN'T HAVE ANY CHILD ELEMENTS:

- item-1

- item-1a

- item-2

 

IF ANY OF CATEGORIES DOESN'T HAVE ANY CHILD ELEMENTS:

- item-1

- item-2

 

HOW IT LOOKS IN PHPMYADMIN:

table:categories

 

table:subcategories

table:childcategories

 

HERE IS THE CODES:

panels.php

 <?php
$db2 = $wnd->getDatabase("listings");
$wn  = new WhatsNew($db2);
foreach ($wn->getCategories() as $key => $cat) {
    if ($cat['subcats'] > 0) {
        if ($cat['childcats'] > 0) {
            echo '<div data-role="collapsible" data-inset="false" data-collapsed-icon="plus" data-expanded-icon="minus" data-iconpos="right" id="' . $cat['id'] . '">';
            if ($cat['status'] == '2') {
                echo "<h3>" . $wn->getItemIcon($cat['cid'], "W_TAG-MAINCAT") . "<font color='grey'>{$cat['name']}</font></h3>";
            } else {
                echo "<h3>" . $wn->getItemIcon($cat['cid'], "W_TAG-MAINCAT") . "{$cat['name']}</h3>";
            }
            foreach ($wn->getSubCategories($cat['cid']) as $key => $subcat) {
                if ($subcat['childcats'] > 0) {
                    echo '<div data-role="collapsibleset" data-theme="<?=$theme;?>" data-content-theme="<?=$content_theme;?>" data-inset="false" data-corners="false" style="padding:0px;margin-top:-10px;">';
                    echo '<div data-role="collapsible" data-collapsed-icon="carat-d" data-expanded-icon="carat-d" data-iconpos="right" data-inset="false">';
                    if ($subcat['status'] == '2') {
                        echo "<h1 style='color:grey;'>" . $wn->getItemIcon($cat['cid'], $subcat['scid'], "W_TAG-SUBCAT") . "{$subcat['name']}</h1>";
                    } else {
                        echo "<h1><a style='text-decoration:inherit;color:inherit;' href='#" . $subcat['scid'] . "'>" . $wn->getItemIcon($cat['cid'], $subcat['scid'], "W_TAG-SUBCAT") . "{$subcat['name']}</a></h1>";
                    }
                    echo "<ul data-role='listview'>";
                    foreach ($wn->getChildCategories($cat['cid'], $subcat['scid']) as $key => $childcat) {
                        if ($childcat['status'] == '2') {
                            echo "<li style='color:grey;'>" . $wn->getItemIcon($cat['cid'], $subcat['scid'], $childcat['ccid'], "W_TAG-CHILDCAT") . "{$childcat['name']}</li>";
                        } else {
                            echo "<li><a href='products.php?cid=" . $cat['cid'] . "&scid=" . $subcat['scid'] . "&ccid=" . $childcat['ccid'] . "'>" . $wn->getItemIcon($cat['cid'], $subcat['scid'], $childcat['ccid'], "W_TAG-CHILDCAT") . "{$childcat['name']}</a></li>";
                        }
                    }
                    echo "</ul>";
                    echo "</div></div>";
                } else {
                    echo "<ul data-role='listview'>";
                    if ($subcat['status'] == '2') {
                        echo "<li style='color:grey;'>" . $wn->getItemIcon($cat['cid'], $subcat['scid'], "W_TAG-SUBCAT") . "{$subcat['name']}</li>";
                    } else {
                        echo "<li style='margin:-8px;margin-top:-5px;padding-right:8px;padding-top:0px;padding-bottom:4px;'><a href='products.php?cid=" . $cat['cid'] . "&scid=" . $subcat['scid'] . "'>" . $wn->getItemIcon($cat['cid'], $subcat['scid'], "W_TAG-SUBCAT") . "{$subcat['name']}</a></li>";
                    }
                    echo "</ul>";
                }
            }
            echo "</div>";
        } else {
            echo '<div data-role="collapsible" data-corners="false" data-inset="false" data-collapsed-icon="carat-d" data-expanded-icon="carat-d" data-iconpos="right" id="' . $cat['id'] . '">';
            if ($cat['status'] == '2') {
                echo "<h3>" . $wn->getItemIcon($cat['cid'], "W_TAG-MAINCAT") . "<font color='grey'>{$cat['name']}</font></h3>";
            } else {
                echo "<h3>" . $wn->getItemIcon($cat['cid'], "W_TAG-MAINCAT") . "{$cat['name']}</h3>";
            }
            echo "<ul data-role='listview'>";
            foreach ($wn->getSubCategories($cat['cid']) as $key => $subcat) {
                if ($subcat['status'] == '2') {
                    echo "<li>" . $wn->getItemIcon($cat['cid'], $subcat['scid']) . "{$subcat['name']}</li>";
                } else {
                    echo "<li><a href='products.php?cid=" . $cat['cid'] . "&scid=" . $subcat['scid'] . "'>" . $wn->getItemIcon($cat['cid'], $subcat['scid'], "W_TAG-SUBCAT") . "{$subcat['name']}</a></li>";
                }
            }
            echo "</ul>
                                        </div>";
        }
    } else {
        echo "<ul data-role='listview'>";
        if ($cat['status'] == '2') {
            echo "<li style='color:grey;'>" . $wn->getItemIcon($cat['cid'], "W_TAG-MAINCAT") . "{$cat['name']}</li>";
        } else {
            echo "<li><a href='products.php?cid=" . $cat['cid'] . "'>" . $wn->getItemIcon($cat['cid'], "W_TAG-MAINCAT") . "{$cat['name']}</a></li>";
        }
        echo "</ul>";
    }
}
?>
WhatsNew.base.php

<?php
function getCatType(){
        $args=func_get_args();
        $cid=$args[0];
        $scid=$args[1];
        $ccid=$args[2];
        $ccid=$args[3];
        $ret=array();
        if(empty($cid) && empty($ccid) && empty($scid) || !is_numeric($cid) && !is_numeric($ccid) && !is_numeric($scid)){
            $ret['query_name']="Categories";
            $ret['query_table']="categories";
        } elseif((!empty($cid) && is_numeric($cid)) && (empty($ccid) && empty($scid) || !is_numeric($ccid) && !is_numeric($scid))){
            $ret['query_name']="Categories";
            $ret['query_table']="categories";
            $ret['query_table_condition']="cid='$cid'";
        }
         elseif((!empty($cid) && !empty($scid) && is_numeric($cid) && is_numeric($scid)) && (empty($ccid) && !is_numeric($ccid))){
            $ret['name']="Categories";
            $ret['table']="Categories";
            $ret['query_name']="Sub-categories";
            $ret['query_table']="subcategories";
            $ret['query_table_condition']="cid='$cid' AND scid='$scid'";
        } elseif(!empty($cid) && !empty($scid) && !empty($ccid) && is_numeric($cid) && is_numeric($scid) && is_numeric($ccid)){
            $ret['name']="Sub-categories";
            $ret['table']="subcategories";
            $ret['query_name']="Child-categories";
            $ret['query_table']="childcategories";
            $ret['query_table_condition']="cid='$cid' AND scid='$scid' AND ccid='$ccid'";
        } elseif(!empty($cid) && !empty($scid) && !empty($ccid) && !empty($pid) && is_numeric($cid) && is_numeric($scid) && is_numeric($ccid) && is_numeric($pid)){
            $ret['name']="Child-categories";
            $ret['table']="childcategories";
            $ret['query_name']="Products";
            $ret['query_table']="products";
            $ret['query_table_condition']="cid='$cid' AND scid='$scid' AND ccid='$ccid' AND pid='$pid'";
        }
        return $ret;
    }
    function getOidParams($param=array()){
        $return=array();
        foreach($param as $key){
            if(is_numeric($key)){
                if(strlen($key)==10){
                    $return['cid']=$key;
                }
                if(strlen($key)==8){
                    $return['scid']=$key;
                }
                if(strlen($key)==6){
                    $return['ccid']=$key;
                }
                if(strlen($key)==4){
                    $return['pid']=$key;
                }
            }
        }
        return $return;
    }
    function isIconHidden(){
        $args=func_get_args();
        $cid=$args[0];
        $scid=$args[1];
        $ccid=$args[2];
        if($q=db_query("SELECT showicon FROM $this->getCatType($cid,$scid,$ccid)['table'] WHERE $this->getCatType($cid,$scid,$ccid)['query_table_condition']",$this->db)){
            if(db_num_rows($q)>0){
                $r=db_fetch_array($q);
                return $r['showicon'];
            }
        }
    }
    function getItemIcon(){
        $args=func_get_args();
        $param=array($args[0],$args[1],$args[2],$args[3]);
        $tbl=$this->getCatType($this->getOidParams($param)['cid'],$this->getOidParams($param)['scid'],$this->getOidParams($param)['ccid'],$this->getOidParams($param)['pid'])['query_table'];
        $tbl_cond=$this->getCatType($this->getOidParams($param)['cid'],$this->getOidParams($param)['scid'],$this->getOidParams($param)['ccid'],$this->getOidParams($param)['pid'])['query_table_condition'];
        if($q=db_query("SELECT icon,icon_mime FROM $tbl WHERE $tbl_cond",$this->db)){
            if(db_num_rows($q)>0){
                $r=db_fetch_array($q);
                if($r['showicon']==0){
                    return "";
                } elseif($r['showicon']==1){
                    if(in_array("W_TAG-MAINCAT",$param)){
                        $ret="<div style='float:left;;'><img src='".bin2file($r['icon'],$r['icon_mime'])."' width='24' height='24'/></div>";
                    } elseif(in_array("W_TAG-SUBCAT",$param)){
                        $ret="<div style='float:left;'><img src='".bin2file($r['icon'],$r['icon_mime'])."' width='24' height='24'/></div>";
                    } elseif(in_array("W_TAG-CHILDCAT",$param)){
                        $ret="<div style='float:left;margin-left:10px;'><img src='".bin2file($r['icon'],$r['icon_mime'])."' width='24' height='24'/></div>";
                    } elseif(in_array("W_TAG-PRODUCTCAT",$param)){
                        $ret="<div style='float:left;margin-left:15px;'><img src='".bin2file($r['icon'],$r['icon_mime'])."' width='24' height='24'/></div>";
                    } else {
                        $ret=bin2file($r['icon'],$r['icon_mime']);
                    }
                    return $ret;
                }
            }
        } else {
            echo error("Unable to query database! {$this->hcMsg}");
        }
    }
    function getSubCategoriesCount($cid){
        $sccq=db_query("SELECT scid FROM subcategories WHERE cid='$cid' AND status != '1' ORDER BY name ASC",$this->db);
        if($sccq){
            if(db_num_rows($sccq)>0){
                $sccr=db_fetch_array($sccq);
                $result=array("subcategories"=>array("scid"=>$sccr['scid'],"count"=>db_num_rows($sccq)));
            } else {
                $result=array("scid"=>"NULL","count"=>"0");
            }
            return $result;
        } else {
            echo error("Unable to query database! {$this->hcMsg}");
        }
    } //END FUNCTION: getSubCategoryCounts()
    function getChildCategoriesCount($cid,$scid){
        $cccq=db_query("SELECT ccid FROM childcategories WHERE cid='$cid' AND scid='$scid' AND status != '1' ORDER BY name ASC",$this->db);
        $result=array();
        if($cccq){
            if(db_num_rows($cccq)>0){
                $cccr=db_fetch_array($sccq);
                $result=array("childcategories"=>array("ccid"=>$cccr['ccid'],"count"=>db_num_rows($cccq)));
            } else {
                $result=array("ccid"=>"NULL","count"=>"0");
            }
            return $result;
        } else {
            echo error("Unable to query database! {$this->hcMsg}");
        }
    } //END FUNCTION: getChildCategoryCounts()
    function getProductsCount(){
        $args=func_get_args();
        $cid=$args[0];
        $scid=$args[1];
        $ccid=$args[2];
        if(!empty($cid) && !empty($scid) && !empty($ccid) && is_numeric($cid) && is_numeric($scid) && is_numeric($ccid)){
            $pcq=db_query("SELECT pid FROM products WHERE cid='$cid' AND scid='$scid' AND ccid='$scid' AND status != '1' ORDER BY name ASC",$this->db);
        } elseif((!empty($cid) && !empty($scid) && is_numeric($cid) && is_numeric($scid)) && (empty($ccid) && !is_numeric($ccid))){
            $pcq=db_query("SELECT pid FROM products WHERE cid='$cid' AND scid='$scid' AND ccid='' AND status != '1' ORDER BY name ASC",$this->db);
        } elseif((!empty($cid) && is_numeric($cid)) && (empty($ccid) && empty($scid) || !is_numeric($ccid) && !is_numeric($scid))){
            $pcq=db_query("SELECT pid FROM products WHERE cid='$cid' AND scid='' AND ccid='' AND status != '1' ORDER BY name ASC",$this->db);
        }
        if($pcq){
            if(db_num_rows($pcq)>0){
                return db_num_rows($pcq);
            } else {
                echo error("No products found in any categories!");
            }
        } else {
            echo error("Unable to query database! {$this->hcMsg}");
        }
    } //END FUNCTION: getProductsCount()
    function getCategories(){
        $cq1=db_query("SELECT * FROM categories WHERE status != '1' ORDER BY name ASC",$this->db);
        if($cq1){
            if(db_num_rows($cq1)>0){
                $result=array();
                while($cr1=db_fetch_array($cq1)){
                    foreach($cr1 as $key => $subArr){
                        unset($cr1['icon']);
                        unset($cr1['icon_mime']);
                        unset($cr1[2]);
                        unset($cr1[3]);
                    }
                    $cr1["subcats"]=$this->getSubCategoriesCount($cr1['cid'])['count'];
                    $cr1["childcats"]=$this->getChildCategoriesCount($cr1['cid'],$this->getSubCategoriesCount($cr1['cid'])['scid'])['count'];
                    array_push($result,$cr1);
                }
                return $result;
            } else {
                echo error("No categories found!");
            }
        } else {
            echo error("Unable to query database! {$this->hcMsg}");
        }
    } //END FUNCTION: getCategories()
    function getSubCategories($cid){
        $scq1=db_query("SELECT * FROM subcategories WHERE cid='$cid' AND status != '1' ORDER BY name ASC",$this->db);
        if($scq1){
            if(db_num_rows($scq1)>0){
                $result = array();
                while($scr1=db_fetch_array($scq1)){
                    foreach($scr1 as $key => $subArr){
                        unset($scr1['icon']);
                        unset($scr1['icon_mime']);
                        unset($scr1[2]);
                        unset($scr1[3]);
                    }
                    if($ccq=db_query("SELECT ccid FROM childcategories WHERE cid='$cid' AND scid='".$scr1['scid']."' AND status != '1' ORDER BY name ASC",$this->db)){
                        if(db_num_rows($ccq)>0){
                            while($ccr=db_fetch_array($ccq)){
                                $scr1["childcats"]=db_num_rows($ccq);
                            }
                        } else {
                            $scr1["childcats"]="0";
                        }
                    } else {
                        $scr1["childcats"]="0";
                    }
                    array_push($result,$scr1);
                }
                return $result;
            } else {
                echo error("No sub-categories found!");
            }
        } else {
            echo error("Unable to query database! {$this->hcMsg}");
        }
    } //END FUNCTION: getSubCategories()
    function getChildCategories($cid,$scid){
        $ccq1=db_query("SELECT * FROM childcategories WHERE cid='$cid' AND scid='$scid' AND status != '1' ORDER BY name ASC",$this->db);
        if($ccq1){
            if(db_num_rows($ccq1)>0){
                $result = array();
                while($ccr1=db_fetch_array($ccq1)){
                    foreach($ccr1 as $key => $subArr){
                        unset($ccr1['icon']);
                        unset($ccr1['icon_mime']);
                        unset($ccr1[2]);
                        unset($ccr1[3]);
                    }
                    array_push($result,$ccr1);
                }
                return $result;
            } else {
                echo error("No child-categories found!");
            }
        } else {
            echo error("Unable to query database! {$this->hcMsg}");
        }
    } //END FUNCTION: getChildCategories()
?>
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...