2010-06-08 17 views
11

Quindi, ho bisogno di costruire un generatore di query frontale per un database, ma ho problemi a trovare codice esistente per quello che non riesco a immaginare è un requisito raro.Interfaccia utente di query PHP/MySQL Query con jQuery?

Fondamentalmente, ho persone fluenti non SQL che hanno bisogno di compilare query al volo e visualizzare i risultati.

ho trovato questo: http://plugins.jquery.com/project/SQL_QUERY_BUILDER (Demo: http://ksistem.com/jquery/sqlbuilderdemo.htm)

ma richiede che lo schema del database essere codificato, piuttosto che essere generato in modo dinamico.

Esiste una soluzione migliore che richiama dinamicamente lo schema del database in un'interfaccia utente simile a jQuery per creare ed eseguire query SELECT su un database MySQL?

+0

È anche possibile generare dinamicamente le parti di Javascript che definiscono la struttura della tabella. Uno script come questo deve essere accessibile solo per le persone di cui ti fidi, sembra che questo invii la query al server da parte di POST e lo esegue, il che consentirebbe agli estranei di fare qualsiasi cosa con il tuo db. – svens

+1

Grazie, sono a conoscenza dei problemi di sicurezza; Questo si collegherebbe con un utente mysql che è solo in grado di fare query SELECT, ed è dietro 2 schemi di autenticazione separati; le persone che accedono a questo generatore di query saranno utenti fidati. – emailq

+0

Un'app con cui lavoro regolarmente ha una funzione di query di base, ma non è per niente elegante ma funziona per persone non-SQL-fluenti. Ha una tabella in basso in cui si selezionano le caselle delle tabelle che ti interessano, quindi si inseriscono i nomi dei campi disponibili. Sopra ci sono due caselle di testo separate da un menu a discesa di selezione; la selezione ha opzioni per "UGUALI", "NON UGUALE", "È PIACIUTO", ecc. ...... aspetta, perché sto descrivendo questo? Guarda la funzione "Cerca" di phpMyAdmin. La stessa cosa quasi. (L'app a cui mi riferisco non è phpMyAdmin, solo UI simili per questo.) –

risposta

1

creazione dinamica lo schema del database potrebbe essere un problema, a causa delle relazioni tra le tabelle. Puoi lasciare agli utenti il ​​compito di selezionare le relazioni, ma se guardo le "persone fluide non SQL" intorno a me ... probabilmente non lo farei ..

Oltre a questo, se vuoi crea/controlla la struttura al volo, devi praticamente crearla/controllarla ogni volta che lo script viene chiamato. Generando un overhead forse enorme, non necessario. Probabilmente preferirei che uno script/db-admin generi/aggiorni la struttura ogni volta che qualcuno si diverte con il database.

Dubito che troverai qualcosa che fa esattamente quello che stai cercando. Forse tirare fuori la struttura da un file YAML che è tenuto aggiornato dal db-admin potrebbe essere una soluzione migliore.

Problemi correlati