12 résultats trouvés

par hickscorp
22 oct. 2010, 00:51
Forum : PHP avancé
Sujet : Regexp pour extraire le nom des tables d'une chaîne.
Réponses : 23
Vues : 1934

Re: Regexp pour extraire le nom des tables d'une chaîne.

Personne aurait une solution? :D
par hickscorp
21 oct. 2010, 17:16
Forum : PHP avancé
Sujet : Regexp pour extraire le nom des tables d'une chaîne.
Réponses : 23
Vues : 1934

Re: Regexp pour extraire le nom des tables d'une chaîne.

sauf que le prochain probleme c'est le nom des table et des colonne y'a plus de caratere que dans le \w
http://dev.mysql.com/doc/refman/5.0/fr/legal-names.html
Pas saisi, des noms de tables où y'a plus de caractères que dans le \w? Y'a combien de caractères dans le \w? :D
par hickscorp
21 oct. 2010, 16:59
Forum : PHP avancé
Sujet : Regexp pour extraire le nom des tables d'une chaîne.
Réponses : 23
Vues : 1934

Re: Regexp pour extraire le nom des tables d'une chaîne.

et si tu supprime d'hab tout ce qui est entre guillemet ? comme ca $r = "Table1.a IN (1) AND COUNT(Table2.b)>3 OR Table3.pupu=4839.32 AND Table4.haha LIKE 'hmm... Faux1.bah hmm.'"; $r = preg_replace('/([\'"])[^\1]+\1/', '', $r); preg_match_all('/\x60?([A-Z]\w+)\x60?\./', $r, $m); pri...
par hickscorp
21 oct. 2010, 16:49
Forum : PHP avancé
Sujet : Regexp pour extraire le nom des tables d'une chaîne.
Réponses : 23
Vues : 1934

Re: Regexp pour extraire le nom des tables d'une chaîne.

donc il est obligé de mettre le nom des tables dans les where ? Oui, dans le cas où il veut faire une spécification directe de la clause WHERE / HAVING (Autrement il y a dans le framework des objets Condition, Operand, Operator etc qui permettent de ne pas avoir à le faire "à la main", ma...
par hickscorp
21 oct. 2010, 16:30
Forum : PHP avancé
Sujet : Regexp pour extraire le nom des tables d'une chaîne.
Réponses : 23
Vues : 1934

Re: Regexp pour extraire le nom des tables d'une chaîne.

faut voire aussi a quelle moment peux suivre un nom de table, doit y 'avoir FROM, JOIN, INTO, HAVING, UPDATE, TABLE si t'en vois d'autre ... Uniquement WHERE et HAVING (Puisque les conditions sont fournies au framework par le developeur et uniquement les conditions). Les FROM, JOIN, INTO, UPDATE......
par hickscorp
21 oct. 2010, 16:20
Forum : PHP avancé
Sujet : Regexp pour extraire le nom des tables d'une chaîne.
Réponses : 23
Vues : 1934

Re: Regexp pour extraire le nom des tables d'une chaîne.

normalement les requêtes tu dois mettre un ` autour des champs, "Je" met toujours un ` autours de mes champs. Les développeurs qui utilisent mon framework, non :) pour le reste si tu regarde du coté de Doctrine tout l'ORM se base sur le DQL, il va juste chercher les champs dans la fonctio...
par hickscorp
21 oct. 2010, 16:09
Forum : PHP avancé
Sujet : Regexp pour extraire le nom des tables d'une chaîne.
Réponses : 23
Vues : 1934

Re: Regexp pour extraire le nom des tables d'une chaîne.

la ca deviens chaud, c'est pour faire quoi a la base ? Ben je bosse sur une couche d'abstraction de base de donnée assez complexe. Avant de générer des requêtes, je souhaite parser les conditions WHERE / HAVING, afin que le constructeur de requête puisse déterminer quelles tables sont utilisées dan...
par hickscorp
21 oct. 2010, 15:56
Forum : PHP avancé
Sujet : Regexp pour extraire le nom des tables d'une chaîne.
Réponses : 23
Vues : 1934

Re: Regexp pour extraire le nom des tables d'une chaîne.

comme ca preg_match_all('/(?<![\'"])([A-Z]\w+)\./', $r, $m); Haha... Je viens de trouver une autre exception: $r = "Table1.a IN (1) AND COUNT(Table2.b)>3 OR Table3.pupu=4839.32 AND Table4.haha LIKE 'hmm... Faux1.bah hmm.'"; Faux1 est reconnu comme juste, puisque les guillemets ne son...
par hickscorp
21 oct. 2010, 15:50
Forum : PHP avancé
Sujet : Regexp pour extraire le nom des tables d'une chaîne.
Réponses : 23
Vues : 1934

Re: Regexp pour extraire le nom des tables d'une chaîne.

comme ca preg_match_all('/(?<![\'"])([A-Z]\w+)\./', $r, $m); J'ai dû trouver à peu près en même temps que tu as posté que j'avais oublié le OU dans mon regexp XD Du coup j'ai corrigé en: preg_match_all('/(?<!\'|!")([A-Z]\w+)\.\w/', $r, $m); Mais ta version est plus claire... Merci beaucou...
par hickscorp
21 oct. 2010, 15:38
Forum : PHP avancé
Sujet : Regexp pour extraire le nom des tables d'une chaîne.
Réponses : 23
Vues : 1934

Re: Regexp pour extraire le nom des tables d'une chaîne.

c'est le preg_match_all qui fait ca, c'est parce que y'a pas de groupe de capture que ca te perturbe Yes je viens de capter :D Merci. Alors j'ai fait quelques modifs... Pour tenter une exception: $r = "Table1.a IN (1) AND COUNT(Table2.b)>3 OR Table3.pupu=4839.32 AND 'Faux1.haha'='Faux2.hoho'&q...
par hickscorp
21 oct. 2010, 15:17
Forum : PHP avancé
Sujet : Regexp pour extraire le nom des tables d'une chaîne.
Réponses : 23
Vues : 1934

Re: Regexp pour extraire le nom des tables d'une chaîne.

suivant ta description ca donnerai : (?<!')[A-Z]\w+s\. Génial. Merci beaucoup! Petit test: $r = "Malls.uid IN (1) AND COUNT(Stores.toto)>3 && Deals.value<=Accounts.credit"; preg_match_all("/(?<!')[A-Z]\w+s/", $r, $m); print_r($m); Done: Array ( [0] => Array ( [0] => Mall...
par hickscorp
21 oct. 2010, 15:01
Forum : PHP avancé
Sujet : Regexp pour extraire le nom des tables d'une chaîne.
Réponses : 23
Vues : 1934

Regexp pour extraire le nom des tables d'une chaîne.

Hello :) Je précise avant de commencer: je ne pose pas du tout une question sur SQL ou MySQL. Ma question est à dissocier totallement des fonctionnalités MySQL. Je dispose au moment de l'execution de mon programme d'une chaine de caractère contenant des condition SQL. Je souhaite extraire la totalit...
Nous sommes le 14 juin 2026, 11:24