Hola, creo que he encontrado cual es el inconveniente. El problema es que no estas "reseteando" las variables despues del bucle. Esto ocasiona que se concatene indefinidamente el contenido de la variable y por eso es acumulativo.
Para solucionarlo tendrias que agregar la siguiente linea:
$html->asignar('Listado_escritos','');
en tu codigo, despues de haber expandido con esto reseteas la variable a nulo y vuelves a empezar.
Creo que con eso estaria solucionado, fijate si no hace falta en otro lugar. El codigo quedaria algo asi:
Código PHP:
$ind1=0;
while ($array1[$ind1])
{
$listado=listado("*","".$array1[$ind1]."","where id_autor=".$_GET['id']." and activar='si'");
$ind=0;
if ($listado[$ind])
{
$html->asignar('Seccion',$array1[$ind1]);
}
while ($listado[$ind])
{
$html->asignar('Genero',$redir_genero);
$html->asignar('Sec',$array1[$ind1]);
$html->asignar('Id_escrito',$listado[$ind]["id_".$array1[$ind1]]);
$html->asignar('Titulo_escrito',$listado[$ind]["titulo"]);
$html->expandir('Listado_escritos','+List_escr');
$ind++;
}
$html->expandir('Escritos_autor','+Relatos_autor');
// Aqui es donde cambiamos y reseteamos.
$html->asignar('Listado_escritos','');
$ind1++;
}
$html->expandir('Total_contenido','Autores');
Saludos
Nok.