Antes que nada, felicidades!!! para ser newbie tu forma de programar es excelente, además se nota que te gusta programar y sobre todo INVESTIGAR, da gusto ayudar (o trata de ayudar) a gente así
Bueno, con tu problema, como lo veo (lastimosamente donde estoy no puedo hacer pruebas), el problema es que estás agregando elementos a los array de la misma instancia y no está limpiando estos array, por lo que se corregiría vaciandolos antes de volver a cargarlos, más o menos así...
Código PHP:
...
$this->cat = array() ;
while($rig = mysql_fetch_assoc($ris)){
$this->cat[] = $rig ;
}
...
Código PHP:
...
$this->subcat = array() ;
while($reg = mysql_fetch_assoc($res)){
$this->subcat[] = $reg ;
}
...
Código PHP:
...
$this->articulo = array() ;
while($rog = mysql_fetch_assoc($ros)){
$this->articulo[] = $rog ;
}
...
Pruebalo y me cuentas,
Saludos!