Hola capredinson:
Coincido completamente con gnzsoloyo cuando dice que tienes un modelo de BD equivocado, pero en más de una ocasión me he enfrentado a situaciones donde no es posible modificar el modelo y tienes que trabajar con lo que hay... en tu caso, si puedes cambiar tus tablas y hacer lo que gnzsoloyo te recomienda sería excelente, pero si fuera el caso donde no puedes modificar tu modelo, podrías hacer uso de algunas funciones de agrupación para obtener algo que igual y te puede servir... Puedes "unir" tus campos de medicamentos con dos funciones... CONCAT_WS y GROUP_CONCAT... la primera sirve para primeramente las columnas, la segunda para unir varios registros a la vez... es decir, algo como esto:
Código MySQL:
Ver original+------------+---------+----------+--------------+--------------+--------------+--------------+
| id_formula | id_cita | paciente | medicamento1 | medicamento2 | medicamento3 | medicamento4 |
+------------+---------+----------+--------------+--------------+--------------+--------------+
| 2 | 7 | 123 | acetamenofen | ibuprofeno | amoxacilina | bipirona
| 3 | 7 | 123 | diovan
| tiroxin
| NULL | NULL | +------------+---------+----------+--------------+--------------+--------------+--------------+
-> id_cita, paciente,
+---------+----------+-------------------------------------------------------------+
| id_cita | paciente | receta |
+---------+----------+-------------------------------------------------------------+
| 7 | 123 | acetamenofen,ibuprofeno,amoxacilina,bipirona,diovan,tiroxin |
+---------+----------+-------------------------------------------------------------+
Igual y es algo que te pueda servir.
En cuanto al segundo tema, se trata de un asunto de programación, no de Base de Datos... publica tu pregunta en el
foro de PHP
Saludos
Leo.