estes es mi codigo el problema es que en el segundo WHILE me muestra solo el primer registro y deberia mostrame los todos por su ayuda gracias...
$sql="select * from cat_producto";
$res=$cons->consult($sql);
$lista='';
while($row=mysql_fetch_array($res))
{
$lista.=$obj->leer('menu_productos.html');
$lista=ereg_replace("#id_cat_producto#",$row["id_cat_producto"],$lista);
$lista=ereg_replace("#nombre#",html_entity_decode( $row["nombre_cat_producto"]),$lista);
$sql_pro="select * from producto where id_cat_producto='".$row["id_cat_producto"]."'";
$res_pro=$cons->consult($sql_pro);
while($row_pro=mysql_fetch_array($res_pro)){
$lista=ereg_replace('#producto#',html_entity_decod e($row_pro["descripcion"]),$lista);
$lista=ereg_replace('#x#',$sql_pro,$lista);
}}