2010-06-08 6 views
11

Donc, j'ai besoin de construire un constructeur de requêtes orienté vers l'avant pour une base de données, mais j'ai du mal à trouver du code existant pour ce que je ne peux pas imaginer est une exigence rare. Fondamentalement, j'ai des personnes non SQL qui ont besoin de construire des requêtes à la volée et d'afficher les résultats.Interface utilisateur PHP/MySQL Query Builder avec jQuery?

Je trouve ceci: http://plugins.jquery.com/project/SQL_QUERY_BUILDER (Demo: http://ksistem.com/jquery/sqlbuilderdemo.htm)

Mais il faut que le schéma de base de données soit codé en dur, plutôt que d'être généré dynamiquement.

Existe-t-il une meilleure solution qui extrait dynamiquement le schéma de base de données dans une interface utilisateur de type jQuery pour générer et exécuter des requêtes SELECT sur une base de données MySQL?

+0

Vous pouvez également générer dynamiquement les parties du Javascript qui définissent la structure de la table. Un script comme celui-ci ne doit être accessible que pour les personnes en qui vous avez vraiment confiance, il semble que cela envoie la requête au serveur par POST et l'exécute simplement, ce qui permettrait aux étrangers de faire n'importe quoi avec votre db. – svens

+1

Merci, je suis au courant des problèmes de sécurité; Ce serait la connexion avec un utilisateur mysql qui est seulement capable de faire des requêtes SELECT, et il est derrière 2 schémas d'authentification séparés; les personnes accédant à ce générateur de requêtes seront des utilisateurs de confiance. – emailq

+0

Une application avec laquelle je travaille régulièrement dispose d'une fonction de requête de base, mais ce n'est pas très sophistiqué, mais cela fonctionne pour les personnes qui ne maîtrisent pas SQL. Il a un tableau en bas où vous cochez les cases des tables qui vous intéressent, puis il tire dans les noms de champs disponibles. Au-dessus, deux zones de texte sont séparées par une liste déroulante. la sélection a des options pour "ÉGAUX", "NE SEMBLE PAS", "EST COMME", etc. ...... attends, pourquoi suis-je en train de décrire ceci? Regardez la fonction "Recherche" de phpMyAdmin. Même chose presque. (L'application dont je parle n'est pas phpMyAdmin, juste des interfaces similaires pour cela.) –

Répondre

1

le schéma Dynamiquement crée une base de données pourrait être un problème, en raison des relations entre les tables. Vous pourriez laisser les utilisateurs porter le fardeau de la sélection des relations, mais si je regarde les "gens qui ne parlent pas SQL" autour de moi .. je ne ferais probablement pas cela ..

Sinon, si vous voulez créer/vérifier la structure à la volée, vous devez pratiquement la créer/vérifier chaque fois que le script est appelé. Générer un surcoût peut-être énorme, pas nécessaire. Je préfèrerais probablement avoir un script/db-admin générer/mettre à jour la structure chaque fois que quelqu'un se tourne avec la base de données.

Je doute que vous trouverez quelque chose qui fait exactement ce que vous cherchez. Il est peut-être préférable d'extraire la structure d'un fichier YAML mis à jour par le db-admin.

Questions connexes