tomaac Posted August 26, 2007 Report Share Posted August 26, 2007 Ir selecta daļa ar where izteiksmi. Vienkāršākā gadījumā - where izteiksme sastāv tikai no and un or un nav iekavu. Sarežģītākā gadījuma - where izteiksme ir arī iekavas (bet joprojām ir tikai and un or). Nepieciešama tāda regulāra izteiksme, kas sadalīs šo izteiksmi pa atsevišķiem nosacījumiem, tai skaitā, nepazaudējot - vai tas bija or vai and nosacījums. Piemēram, ja ir where x=19 and x1=x2 or a=b Tad vajag atdgriezt x=19 and x1=x2 or a=b vai kaut ko tādu, lai var saprast - kāda izteiksme ar ko tiek atdalīta... Sarežģītākā gadījumā vajag rēķināties, ka var būt arī iekavas. Otrkāt, līdzīgi: ir select daļa, piemēarm, select a as text, b as text2, c, d ar regulāro izteiksmi jāsadala tā, lai varētu saprast, kur ir kolonnas nosaukums un kur ir tās alias, piem., kaut kādā masīvā, lai rezultāts ir: a text b text2 c d No PHP zinu ļoti maz, varbūt kāds var palīdzēt? Paldies. Link to comment Share on other sites More sharing options...
bubu Posted August 26, 2007 Report Share Posted August 26, 2007 Otrais ir vienkāršs: explode(',', $text); Par pirmo - es droš vien rakstītu rekursīvu funkiju vai pat vairākas, kura darītu sekojošas lietas: 1) explode('and', $text); 2) explode('or', $text); 3) trim($text, '()'); Kautkādā veidā (kā nu tev tur tas ir vajadzīgs) sakombinētu rezultātu masīvos un atgrieztu. Link to comment Share on other sites More sharing options...
Recommended Posts