hola este es un script q toma las categorias de una bd, se fija a traves de get id en q categoria esta el usuario y hace dentro del bucle q muestra las categorias principales un bucle para mostrar las subcategorias.
el antes del primer bucle se incluye el template para las categorias principales, y si se cumple la condicion pasa al segundo buble antes del cual se ingresa el template de las subcategorias. el problema es que toma el template de categorias solo para el primer registro, todo el resto lo ejecuta con el template de las subcategorias..
aqui esta el script
Código PHP:
$cID = '0';
$tr_sql = mysql_query("SELECT * FROM ".DB_PREFIX."templates WHERE tID = '".$theme."' && tmName = 'cat_list'");
$tr=mysql_fetch_array($tr_sql);
$tableRow=$tr["template"];
$sql = mysql_query("SELECT * FROM ".DB_PREFIX."categories WHERE cParent = '".$cID."' ORDER BY cOrder ASC");
while($r=mysql_fetch_array($sql))
{
$cat_ID=$r["cID"];
$cName=$r["cName"];
$cDesc=$r["cDesc"];
$scCount=$r["scCount"];
$cat_row = str_replace("{php=cat_id}", $cat_ID, $tableRow);
$cat_row = str_replace("{php=cat_name}", $cName, $cat_row);
$cat_row = str_replace("{php=cat_desc}", $cDesc, $cat_row);
echo $cat_row;
$valor=$_GET['action'];
if($valor=='category') {
$var= $_GET['id'];
} elseif($valor=='downloads') {
$dID=$_GET['id'];
$sqldow = mysql_query("SELECT cID FROM ".DB_PREFIX."downloads WHERE dID = '".$dID."'");
$d=mysql_fetch_array($sqldow);
$var=$d["cID"];
}
if($cat_ID == $var) {
if($scCount=='1')
{ $cID = $cat_ID;
$trs_sql = mysql_query("SELECT * FROM ".DB_PREFIX."templates WHERE tID = '".$theme."' && tmName = 'subcat_list'");
$trs=mysql_fetch_array($trs_sql);
$tableRow=$trs["template"];
$sqlsub = mysql_query("SELECT * FROM ".DB_PREFIX."categories WHERE cParent = '".$cID."' ORDER BY cOrder ASC");
while($r=mysql_fetch_array($sqlsub))
{
$cat_ID=$r["cID"];
$cName=$r["cName"];
$cDesc=$r["cDesc"];
$cat_row = str_replace("{php=cat_id}", $cat_ID, $tableRow);
$cat_row = str_replace("{php=cat_name}", $cName, $cat_row);
$cat_row = str_replace("{php=cat_desc}", $cDesc, $cat_row);
echo $cat_row;
}
}
}
}