Mmm hasta había pensado que era el php que andaba fallando y resulta que no...
proba dos cosas, el numero q devuelve, count($data) y count($data[$x]).
Esto me sirvió mucho ya que me dí cuenta que count($data[$x]) devolv siempre el doble de datos que yo solicitaba... al final resulta que mysql_fetch_array me devolve los datos así:
Array
(
[0] => Array
(
[0] => 5
[clave_alumno] => 5
[1] => Domínguez
[apellido_p] => Domínguez
[2] => Sánchez
[apellido_m] => Sánchez
[3] => Manolo
[nombres] => Manolo
[4] => 1
[sexo] => 1
[5] => 2008
[ano_ingreso] => 2008
[6] => 12 meses
[modo_pago] => 12 meses
)
[1] => Array
(
[0] => 6
[clave_alumno] => 6
[1] => Pereira
[apellido_p] => Pereira
[2] => López
[apellido_m] => López
[3] => Chuchita
[nombres] => Chuchita
[4] => 0
[sexo] => 0
[5] => 2008
[ano_ingreso] => 2008
[6] => 10 meses
[modo_pago] => 10 meses
)
)
Entonces como se podrán dar cuenta los datos están repetidos. Y efectivamente, en $data[0] hay 14 elementos, pero en el for() a la hora de llegar a 8 provocaba un error.
No sé si hay alguna función que me permita recorrer TODOS los valores de un arry, sin exepción...
EDITO: Ya lo encontré! en vez de usar mysql_fetch_array() usaré mysql_fetch_assoc() que sólo devuelve índices asociativos (no numericos), y para recorrer el array foreach()