generateur/validateur de syntaxe SQL

generateur/validateur de syntaxe SQL - SQL/NoSQL - Programmation

Marsh Posté le 02-11-2006 à 15:20:01    

bonjour,
 
je dois integrer au sein de mon site une interface qui permettrait a l'utilisateur de generer des requetes SQL (heureusement pour moi que les sections WHERE).
 
J'ai essaye de trouver des applications qui permettaient cela pour m'en inspirer mais a l'heure qu'il est je suis toujours bredouille.
 
Neanmoins j'hesite entre deux solutions:
 
- permettre a l'utilisateur d'ecrire lui meme la requete SQL. Il me faudrait alors un script de validation, mais je ne me sens pas assez fort ni avoir assez de temps pour implementer ca.
 
- creer une interface qui permettrait a l'utilisateur de generer automatiquement ces requetes.  
 
Si quelqu'un aurait deja vu ce style d'implementation quelque part, peut-il me dire ou ?
 
Je vous remercie.

Reply

Marsh Posté le 02-11-2006 à 15:20:01   

Reply

Marsh Posté le 02-11-2006 à 19:07:34    

Ca doit exister, mais je connais pas.
 
Si c'est juste pour gérer des clauses where pour du select, suffit de proposer la liste des champs de(s) la table(s), un where qui s'ajoute en cliquant quelque part, un petit order by pareillement, et le select de base et zou :spamafote:
 
phpmyadmin (pour mysql) propose un truc pour feignant dans ce genre mais sans tout faire ce que tu voudrais (dans les dernières versions peut être)

Reply

Marsh Posté le 03-11-2006 à 08:49:09    

merci bien, c'est vrai que je viens de regarder phpmyadmin, ca m'a l'air un peu complique mais je vais me baser dessus.
 
Mais le plus difficile c'est d'integrer les AND et OR  et les parentheses.
 
WHERE (X=1 AND X=2) OR X=3 n'est pas pareil que  
X=1 AND (X=2 OR X=3) par exemple.
 
merci !

Reply

Marsh Posté le 03-11-2006 à 15:56:23    

Certes, de ce côté tu pourras jamais deviner ce que veux l'utilisateur :)
Alors tu le laisses les mettre comme bon lui semble :d Suffit juste de faciliter la tâche aux feignasses en proposant un truc comme pour les tag BB ici: ils surlignent ce qu'ils veulent, ils cliquent sur () et ça met les parenthèses de part et d'autre de l'expression sélectionnée ;)

Reply

Marsh Posté le 06-11-2006 à 09:47:49    

merci !
 
oui le probleme c'est que je ne suis pas sur que l'utilisateur connaisse le langage SQL ;)  
 
Le truc de la selection c'est pas mal, seulement jai pas le droit d'utiliser javascript. snif.

Reply

Marsh Posté le 06-11-2006 à 16:26:32    

Dans ce cas c'est un plus non vital, si js activé ça marche, sinon tanpis ça empêche pas le truc de fonctionner ;)
 
Faut voir ça comme ça avec JS: ça doit juste rajouter des petits gadgets non nécessaires à l'appli mais qui facilitent la vie à ceux  qui veulent bien l'utiliser :)
 
Pourquoi t'as pas le droit :??:


Message édité par leflos5 le 06-11-2006 à 16:28:22
Reply

Marsh Posté le 07-11-2006 à 08:58:29    

bah mon employeur n eveut pas utiliser javascript car bon c'est souvent a l'origine d'erreurs (meme si je sais que bien implemente ca fonctionne tres bien ;) )
 
Finalement jai implemente une petite interface graphique qui fonctionne pas mal.
 
Je pense aussi maintenant a implementer un arbre ou chaque "sous-WHERE" serait un noeud d'un arbre. Probleme je ne sais pas comment implementer ca encore.

Reply

Marsh Posté le 07-11-2006 à 16:16:13    

Penses à la POO :)
 
Pour le JS: si tu maitrises l'environnement final y'a aucun risque, si c'est fait correctement et que ça rajoute un petit plus avec une méthode alternative sans JS :spamafote:
 
Faire un éditeur web sans interactivité c'est quasi mision impossible, et si c'est pour recharger la page à chaque c'est pas mieux, ça va bouffer de la BP et faire mouliner le serveur pour rien, mais y'a pas de JS donc c'est forcément mieux programé :whistle:
 
Parfois les boss sont experts qu'en connerie :d

Reply

Marsh Posté le 08-11-2006 à 10:10:09    

oui je pense a la POO sauf que ca remonte a longtemps :)
 
les boss sont souvent experts en conneries :)
 
merci a toi.

Reply

Marsh Posté le 08-11-2006 à 14:54:59    

Bah de toutes manières, la POO avec php c'est plutot depuis php5 donc pas très longtemps et pas complètement de l'objet comme dans les autres langages.
 
Suffit d'aller faire un tour sur php.net y'a une page qui reprend les grandes lignes avec exemples ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed