vimba Posted November 4, 2010 Report Share Posted November 4, 2010 Vajadzīgs vienkāršs skripts lai no datubāzes tekstā sarakstītu $_SERVER["HTTP_USER_AGENT"] izlobītu ārā, piemēram MSIE 6 lieto 5 gab. Firefox 3 lieto 10 gab. Win lieto 30 gab. MacOS lieto 3 gab. u.tml. Quote Link to comment Share on other sites More sharing options...
Kavacky Posted November 4, 2010 Report Share Posted November 4, 2010 INSERT INTO `table` (`user_agent`) VALUES('$user_agent') SELECT COUNT (`id`), `user_agent` FROM `table` GROUP BY `user_agent` Quote Link to comment Share on other sites More sharing options...
vimba Posted November 4, 2010 Author Report Share Posted November 4, 2010 INSERT INTO `table` (`user_agent`) VALUES('$user_agent') SELECT COUNT (`id`), `user_agent` FROM `table` GROUP BY `user_agent` Nu ja tu būtu kaut reizi to pats darījis, tad redzētu, ka tik vienkārši vis nav, jo šādi nu nekādīgi atsevišķi OS un Browser izvilkt nevar. Pie tam Browseriem un dažreiz OS ir arī milzum daudz versijas... Quote Link to comment Share on other sites More sharing options...
PheliX Posted November 4, 2010 Report Share Posted November 4, 2010 Lai izlobītu infu no user agent stringa var noderēt http://lv.php.net/manual/en/function.get-browser.php Quote Link to comment Share on other sites More sharing options...
codez Posted November 4, 2010 Report Share Posted November 4, 2010 vajag lobīt to infu ārā, pirms ievietot tabulā un katrai informācijai (OS, browseris, utt), pēc kuras vēlas kaut ko kārtot, atlasīt, utt, taisīt savu kolonnu un tajā glabāt to informāciju. Quote Link to comment Share on other sites More sharing options...
vimba Posted November 4, 2010 Author Report Share Posted November 4, 2010 vajag lobīt to infu ārā, pirms ievietot tabulā un katrai informācijai (OS, browseris, utt), pēc kuras vēlas kaut ko kārtot, atlasīt, utt, taisīt savu kolonnu un tajā glabāt to informāciju. OFFT: Es biku nesaprotu, atbildot uz postu "ne pa ķeksi" jūs vienkārši "es esmu krutais postētājs" kaut kādus punktus tādā veidā vācat? Jautājums bija izvilkt no _esošiem_ datiem infu, nevis kā būtu bijis pareizāk/mazāk pareizi... Quote Link to comment Share on other sites More sharing options...
mounkuls Posted November 4, 2010 Report Share Posted November 4, 2010 (edited) Kas Tev tur likās nepareizi? Ja datubāzē ir pilnais user agent strings, kas Tev nepatīk PheliX postā? Pats lietoju mazliet citādāku pašrakstītu funkciju, bet pamatā ideja tā pati vien ir. EDIT: Nu jā, dati jau bāzē ir un vajag no tā izvilkt, tad codez posts mazliet ir garām, bet doma kā tāda jau nemaz tik aplama nav, tikai ne šajā gadījumā der. Edited November 4, 2010 by mounkuls Quote Link to comment Share on other sites More sharing options...
codez Posted November 4, 2010 Report Share Posted November 4, 2010 Ko jūs murgojat, kāpēc neder? Ņemam tabulu, pieliekam laukus, nopārsējam visu ierakstus, sarakstam visus jaunos laukus (OS, browser, utt), ieliekam indeksus un dzīvojam laimīgi. Tas ir vienīgais reālais risinājums, jo nemainot db struktūru, pie katra pieprasījuma nāksies pārsēt visus ierakstus. Ja tāds ir paštaisīts blogs, kuru neviens nelasa un pa gadu sakrājušies 1000 ieraksti, varbūt arī var pārset visus ierakstus, bet, ja ieraksti ir miljons un ir vajadzīga realtime informācija, tad nāksies vien uzlabot db struktūru. Quote Link to comment Share on other sites More sharing options...
codez Posted November 4, 2010 Report Share Posted November 4, 2010 OFFT: Es biku nesaprotu, atbildot uz postu "ne pa ķeksi" jūs vienkārši "es esmu krutais postētājs" kaut kādus punktus tādā veidā vācat? Jautājums bija izvilkt no _esošiem_ datiem infu, nevis kā būtu bijis pareizāk/mazāk pareizi... Ākst, es jaunus datus nepiedāvāju likt klāt, tos pašus esošos arī izmantot, tikai pārveidot tā, lai viņi ir indeksēti. Zini tādu teicienu - dāvinātam zirgam zobus neskatās? Quote Link to comment Share on other sites More sharing options...
vimba Posted November 5, 2010 Author Report Share Posted November 5, 2010 Ākst, es jaunus datus nepiedāvāju likt klāt, tos pašus esošos arī izmantot, tikai pārveidot tā, lai viņi ir indeksēti. Zini tādu teicienu - dāvinātam zirgam zobus neskatās? Nu tad tā arī varēji rakstīt, nevis tagad taisnoties... :-D Quote Link to comment Share on other sites More sharing options...
Kavacky Posted November 5, 2010 Report Share Posted November 5, 2010 (edited) It kā to nevarētu saprast, ja pārtaisa kko, tad datus atbilstoši nomigrē. PS: Uz atbildi man par Nu ja tu būtu kaut reizi to pats darījis, tad redzētu, ka tik vienkārši vis nav Atbildēji tu pats: Vajadzīgs vienkāršs skripts lai no [..] Edited November 5, 2010 by Kavacky Quote Link to comment Share on other sites More sharing options...
cilveks Posted November 5, 2010 Report Share Posted November 5, 2010 (edited) Lūk paraugs ar diviem browseriem, saliec papildus vēl nosacījumus. Bet brīdinu, šis ir overkills, it sevišķi ja daudz datu un bieži izpildīsi. Neuzņemos nekādu atbildību par nelietderīgu resursu izmantošanu :) Regulārai izpildīšanai, iepriekš tika ieteikti tie prātīgākie varianti. Bet ja vajag vienai reizei, tad būs ok variants. SELECT (CASE WHEN (user_agent LIKE '%Firefox%') THEN 'Firefox' WHEN (user_agent LIKE '%Chrome%') THEN 'Chrome' ELSE 'Other' END) AS browser, count(*) FROM tabula GROUP BY browser ORDER BY count(*) DESC Edited November 5, 2010 by cilveks Quote Link to comment Share on other sites More sharing options...
vimba Posted November 8, 2010 Author Report Share Posted November 8, 2010 Lūk paraugs ar diviem browseriem, saliec papildus vēl nosacījumus. Bet brīdinu, šis ir overkills, it sevišķi ja daudz datu un bieži izpildīsi. Neuzņemos nekādu atbildību par nelietderīgu resursu izmantošanu :) Regulārai izpildīšanai, iepriekš tika ieteikti tie prātīgākie varianti. Bet ja vajag vienai reizei, tad būs ok variants. SELECT (CASE WHEN (user_agent LIKE '%Firefox%') THEN 'Firefox' WHEN (user_agent LIKE '%Chrome%') THEN 'Chrome' ELSE 'Other' END) AS browser, count(*) FROM tabula GROUP BY browser ORDER BY count(*) DESC Tanks! Kaut ko šitādu tieši vajadzēja "uz fikso pārskriet pāri". Mazliet pielaboju un darbojas tā kā patreiz vajag. Paldies visiem! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.