2010-06-08 25 views
11

Por lo tanto, necesito construir un generador de consultas frontales para una base de datos, pero estoy teniendo problemas para encontrar el código existente para lo que no puedo imaginar es un requisito poco común.PHP/MySQL Query Builder UI con jQuery?

Básicamente, tengo personas no SQL con fluidez que necesitan generar consultas sobre la marcha y ver los resultados.

encontré esto: http://plugins.jquery.com/project/SQL_QUERY_BUILDER (Demo: http://ksistem.com/jquery/sqlbuilderdemo.htm)

pero requiere que el esquema de base de ser codificado, en lugar de ser generada dinámicamente.

¿Existe alguna solución mejor que tire dinámicamente del esquema de la base de datos a una interfaz de usuario similar a jQuery para crear y ejecutar consultas SELECT en una base de datos MySQL?

+0

También podría generar dinámicamente las partes de Javascript que definen la estructura de la tabla. Un script como este solo debe ser accesible para las personas en las que realmente confías, parece que envía la consulta al servidor por medio de POST y simplemente la ejecuta, lo que permitiría a extraños hacer cualquier cosa con tu base de datos. – svens

+1

Gracias, soy consciente de los problemas de seguridad; Esto se estaría conectando con un usuario de mysql que solo puede hacer consultas SELECT, y está detrás de 2 esquemas de autenticación separados; las personas que accedan a este generador de consultas serán usuarios de confianza. – emailq

+0

Una aplicación con la que trabajo regularmente tiene una función de consulta básica, pero no es tan sofisticada, pero funciona para personas que no hablan SQL. Tiene una tabla en la parte inferior donde se marcan las casillas de las tablas que le interesan, luego se recogen los nombres de campo disponibles. Arriba hay dos cuadros de texto separados por un menú desplegable de selección; el seleccionar tiene opciones para "IGUAL", "NO IGUAL", "ES COMO", etc. ...... espera, ¿por qué estoy describiendo esto? Mira la función "Buscar" de phpMyAdmin. Lo mismo casi. (La aplicación a la que me refiero no es phpMyAdmin, solo interfaces de usuario similares para esto). –

Respuesta

1

la creación dinámica del esquema de base puede ser un problema, debido a las relaciones entre las tablas. Podrías dejar que los usuarios carguen con la carga de seleccionar las relaciones, pero si miro las "personas fluidas que no son SQL" que me rodean ... probablemente no lo haga ...

Aparte de eso, si quieres crea/verifica la estructura sobre la marcha, prácticamente tienes que crearla/verificarla cada vez que se invoca el script. Generando una sobrecarga tal vez enorme, no necesaria. Probablemente prefiero tener un script/db-admin generar/actualizar la estructura cada vez que alguien juguetea con la base de datos.

Dudo que encuentre algo que haga exactamente lo que está buscando. Tal vez sacar la estructura de un archivo YAML que esté actualizado por db-admin podría ser una mejor solución.