AntecedentesLa implementación de un sistema de unión "configurable", con seguridad
Hola, Estoy desarrollando una herramienta experimental/educativa en PHP y MySQL. Soy nuevo en SQL, pero quiero hacer las cosas bien desde el principio. Estoy usando sentencias preparadas por PDO para todas las sustituciones de variables, y backticking en cualquier lugar posible (por lo tanto, como entiendo, no será portátil para bases de datos que no sean de MySQL). En cuanto a mi problema, tengo una idea de cómo proceder, pero me llevará varias horas implementarlo (soy nuevo incluso con la sintaxis de SQL), mientras tanto pensé que primero haría una pregunta solo en caso de que alguien pueda gritar: "¡Esta no es la manera de hacerlo!" y ahorrame horas de esfuerzo
Problema
me gustaría crear una interfaz donde un usuario podría seleccionar de menús desplegables:
- una mesa
A
, - uno o más campos en esa tabla, por ejemplo
A.x
yA.y
, - una mesa
B
, - uno o más campos en esa tabla, por ejemplo
B.z
yB.y
,
y tras la presentación del código sería realizar una combinación interna, igualando cada campo, respectivamente, por ejemplo A.x = B.z
, A.y = B.y
, etc. y devuelve todas las filas coincidentes.
Mi plan es simplemente generar una declaración SQL INNER JOIN
, recorriendo los campos e insertando marcadores de posición (?
), vinculando los parámetros respectivos y finalmente ejecutando la instrucción.
¿Hay una manera más fácil de hacer esto? ¿Hay una mejor manera de hacer esto? ¿Será esto de alguna manera explotable?
Muchas gracias, de antemano. Si nadie responde antes de que termine (dudoso), publicaré mi solución.
Misc.
Supongamos que I validará
- que el usuario selecciona un número igual de campos entre
A
yB
, - que existen los campos y tablas,
- etc.
y que los nombres de los campos no necesitan ser idénticos: se emparejarán en orden. (¡Señale cualquier otro detalle del que pueda no estar enterado!)
Finalmente, el objetivo es que estas selecciones se guarden en una tabla de "configuraciones". En efecto, los usuarios crean "vistas" que les gustaría ver cada vez que vuelven.
+1 pregunta realmente informativa ... manera de ir. – Wh1T3h4Ck5