Hola que tal;
He encontrado una alternativa de solución para evitar dos consultas a la base de datos y reducirla a una sola consulta, les explico. He tomado las mismas tablas para este ejemplo.
tabla
cursos
id_curso | nombre_curso
1 | curso 1
2 | curso 2
3 | curso 3
3.- Para guardar las fechas de pago he creado otra tabla fechas_pagos, y la siguiente es su estructura
tabla
fechas_pagos
id_fecha_pago | id_curso | fecha
1 | 1 | 10/02/2009
2 | 1 | 10/03/2009
3 | 2 | 15/03/2009
Les comentaba que guardaba en cada registro (fila) las fechas y los id's de los cursos tantas veces como número de parcialidades hubiesen, bien, lo que he ideado es serializar los datos y guardarlos serializados, de esta manera en lugar de ocupar por ejemplo 5 filas con diferente fecha, solo ocupo una fila y en lugar de las fechas, guardo el resultado de serializar las 5 fechas dentro de un array, ok, veamos un ejemplo
tabla
fechas_pagos
id_fecha_pago | id_curso | fecha
1 | 1 | a:1:{i:0;s:10:"12-01-2009";}
2 | 2 | a:2:{i:0;s:10:"12-01-2009";i:1;s:10:"20-01-2009";}
3 | 3 | a:3:{i:0;s:10:"12-01-2009";i:1;s:10:"20-01-2009";i:2;s:10:"15-02-2009";}
ok, lo que aparece en el campo fecha, son las fechas "serializadas" en un array, para convertirlas hice lo siguiente:
Código PHP:
$fechas = array ('12-01-2009','20-01-2009','15-02-2009');
$serializadas = serialize($fechas);
Y de esa manera al momento de modificar, agregar ó quitar fechas de pago, sólo actualizao el registro (UPDATE) y escribo las nuevas fechas serializadas, y para regresarlas a su modo "natural" dentro del array, utilizo
unserialize($serializadas).
Ok, si alguien tiene alguna otra sugerencia, es bienvenida.
Saludos