Hello Seth,
Das sieht gut aus. Scheint sicher zu funktionieren.
"sicher" allerdings nur, wenn damit nicht syntaktische richtigkeit ueberprueft werden soll, denn dann duerfte z.b. sowies wie ".*" da nicht stehen. ich ging bei dem regexp davon aus, dass die syntax streng mit dem uebereinstimmt, was du als vorgabe genannt hast.
Ich will einfach mal annehmen, dass ich aus "show columns from $table
" aus dem MySQL-DBMS entweder eine gültige oder keine Antwort bekomme. Allerdings habe ich mich vorhin auch gefragt, wie paranoid man programmieren muss, oder wann man sich auf Ergebnisse einer anderen Funktion verlassen darf.
Ich hatte versucht, dass der erste und der einzige Größenparameter ([3] oder [2]) immer in demselben Match-Element landen sollte. Aber das bekommt man wohl nicht hin?
doch, und es ist sogar *huestel* kuerzer:
statt /(?:(\d+)|(\d+),(\d+)|...)/
/(?:(\d+)(?:,(\d+))?|...)/
preg_match("#^($type)(?:\((?:(\d+)(?:,(\d+))?|('.*'))\))?(?:\s(unsigned))?$#i", $metasum, $matches);
Danke nochmal.
Das bau ich gleich um :-)
Bei der Gelegenheit noch eine Frage zur Philosophie:
Ich signiere über die Namen der Spalten, ob es sich beim Feldinhalt z.B. um einen Hyperlink oder um einen eMailnamen handeln soll. Die gerade in der mache befindliche Funktion trägt dann in eines der Informationsfelder ( ['func_view'] ) die Referenz zur passenden Darstellungsfunktion für HTML ein.
Bei den Typen
enum "select_single" oder "radio"
set "select_multiple" oder "checkbox"
könnte man nun zweifeln, welche der Varianten die passende ist.
Da ich ihn nicht benutze ... Wie macht das der phpMyAdmin? nimmt der immer selects oder auch mal Radio/checkbox?
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau