Optimized quering sledruns for sledrun lists.
authorphilipp <philipp@7aebc617-e5e2-0310-91dc-80fb5f6d2477>
Wed, 15 Jan 2014 22:15:37 +0000 (22:15 +0000)
committerphilipp <philipp@7aebc617-e5e2-0310-91dc-80fb5f6d2477>
Wed, 15 Jan 2014 22:15:37 +0000 (22:15 +0000)
git-svn-id: http://www.winterrodeln.org/svn/servermediawiki/mediawiki_extensions/wrreport/trunk@1885 7aebc617-e5e2-0310-91dc-80fb5f6d2477

wrreport.body.php

index 407b05521ad7c0503a1f1730223d023458e7ccdf..5bdf8fbaaa657c1688d9086cb7eef2aa19bd6fbf 100644 (file)
@@ -672,9 +672,9 @@ class WrReport {
                // SELECT p.page_id,p.page_title, c.length, c.walkup_time, c.top_elevation, c.bottom_elevation, c.walkup_separate, c.lift, c.night_light, c.public_transport, c.sled_rental, c.information_phone FROM `page` p, wrsledruncache c WHERE (p.page_title in ('Birgitzer_Alm_(vom_Adelshof)', 'Kemater_Alm', 'Axamer_Lizum') and p.page_id=c.page_id) ORDER BY page_title
                $where_array = array('page.page_id = wrsledruncache.page_id');
                if (count($page_titles) > 0) {
-                       $mysql_page_titles = array();
-                       for ($i = 0; $i != count($page_titles); ++$i) $mysql_page_titles[] = "'" . mysql_real_escape_string($page_titles[$i]->getDBKey()) . "'";
-                       $where_array[] = 'page.page_title in (' . implode(', ', $mysql_page_titles) . ')';
+                       $mysql_page_ids = array();
+                       foreach ($page_titles as $page_title) $mysql_page_ids[] = $page_title->getArticleID();
+                       $where_array[] = 'page.page_id in (' . implode(', ', $mysql_page_ids) . ')';
                } else $where_array[] = 'false';
                $res = $dbr->select(array('page', 'wrsledruncache'), array('page.page_id', 'page.page_title', 'page_namespace', 'length', 'walkup_time', 'top_elevation', 'bottom_elevation', 'walkup_possible', 'walkup_separate', 'lift', 'night_light', 'public_transport', 'sled_rental', 'information_phone'), $where_array, 'bahnentabelleParserHook', array('ORDER BY' => 'page.page_title'));