2010-06-08 20 views
11

Also, ich muss einen Front-Abfrage Builder für eine Datenbank erstellen, aber ich habe Probleme bei der Suche nach vorhandenen Code für das, was ich mir nicht vorstellen kann, ist eine seltene Anforderung.PHP/MySQL Query Builder UI mit jQuery?

Grundsätzlich habe ich nicht-SQL-fließend Menschen, die Abfragen im laufenden Betrieb erstellen und die Ergebnisse anzeigen müssen.

Ich fand diese: http://plugins.jquery.com/project/SQL_QUERY_BUILDER (Demo: http://ksistem.com/jquery/sqlbuilderdemo.htm)

Aber es erfordert, dass das Datenbankschema fest einprogrammiert werden, anstatt dynamisch generiert werden.

Gibt es eine bessere Lösung, die das Datenbankschema dynamisch in eine jQuery-ähnliche Benutzeroberfläche zum Erstellen und Ausführen von SELECT-Abfragen für eine MySQL-Datenbank zieht?

+0

Sie könnten auch dynamisch die Teile des Javascript generieren, die die Tabellenstruktur definieren. Ein Skript wie dieses muss nur für Leute zugänglich sein, denen du wirklich vertraust. Es sieht so aus, als würde es die Anfrage per POST an den Server schicken und es einfach ausführen, was es Fremdem erlauben würde, alles mit deiner Datenbank zu tun. – svens

+1

Danke, ich bin mir der Sicherheitsprobleme bewusst; Dies würde eine Verbindung mit einem mysql-Benutzer herstellen, der nur SELECT-Abfragen ausführen kann und hinter zwei separaten Authentifizierungsschemas steht. Die Personen, die auf diesen Abfrage-Generator zugreifen, sind vertrauenswürdige Benutzer. – emailq

+0

Eine App, mit der ich regelmäßig arbeite, hat eine grundlegende Abfragefunktion, aber es ist nicht annähernd so ausgefallen, sondern funktioniert auch für nicht SQL-fähige Leute. Es hat eine Tabelle am unteren Rand, wo Sie die Kästchen der Tabellen, die Sie interessieren, ankreuzen, und dann die verfügbaren Feldnamen einlesen. Oben befinden sich zwei Textfelder, die durch ein Auswahlfeld getrennt sind. das select hat Optionen für "EQUALS", "NICHT GLEICH", "IS LIKE", usw. ...... warte, warum beschreibe ich das? Sehen Sie sich die Funktion "Suchen" von phpMyAdmin an. Das Gleiche fast. (Die App, die ich beziehe, ist nicht phpMyAdmin, nur ähnliche UIs dafür.) –

Antwort

1

dynamisch das Datenbankschema zu schaffen könnte ein Problem sein, weil die Beziehungen zwischen Tabellen. Sie könnten die Benutzer tragen die Last der Auswahl der Beziehungen, aber wenn ich auf die "nicht-SQL fließend Menschen" um mich herum .. Ich würde wahrscheinlich nicht das tun ..

Andere als das, wenn Sie wollen Erstellen/überprüfen Sie die Struktur im laufenden Betrieb, Sie müssen sie praktisch jedes Mal erstellen/überprüfen, wenn das Skript aufgerufen wird. Generieren eines möglicherweise riesigen, nicht notwendigen Overheads. Ich würde wahrscheinlich lieber ein Skript/db-admin generieren/aktualisieren die Struktur jedes Mal, wenn jemand mit der Datenbank rätselt.

Ich bezweifle, dass Sie etwas finden, das genau das tut, wonach Sie suchen. Vielleicht ist es besser, die Struktur aus einer YAML-Datei zu entfernen, die vom db-admin auf dem neuesten Stand gehalten wird.