Hola,
Fijate bien:
Código PHP:
for($i = 0; $i < $registros; $i++) {
while($campo = mysql_fetch_array($consulta)) {
for($i = 0; $i < count($campos); $i++) {
$dato[$i] = $campo[$campos[$i]];
}
$this->datos[] = $dato;
}
}
¿Cuantos bucles for con indice $i ves? Yo veo 2. Ademas, esa estructura me suena muy mal. Si $registros es el numero de registros de $consulta, o no hace falta el for de fuera, o no hace falta el while (en mi modesta opinion).
Espero haber sido de ayuda