public function getTestsByCategory($category) { // Делаем запрос на получение имени таблицы: $STH1 = $this->DBH->query("SELECT table_name FROM categories WHERE id='{$category}'"); // Устанавливаем режим выборки и получаем имя таблицы выбранной категории в БД: $STH1->setFetchMode(PDO::FETCH_ASSOC); $row = $STH1->fetch(); $table_name = $row['table_name']; // Делаем запрос на получение всех тестов из выбранной таблицы: $STH2 = $this->DBH->query("SELECT * FROM {$table_name}"); // Устанавливаем режим выборки $STH2->setFetchMode(PDO::FETCH_ASSOC); // Формируем xml разметку из полученных данных: $xml = pdo_manager::makeTestsXmlString($STH2); return $xml; }
<?php include_once 'db/pdo_manager.php'; switch ($_GET['void']) { case 'get_categories': //echo 'get_categories'; //$bdManager = pdo_manager::getDB(); $bdManager = new pdo_manager(); $categories = $bdManager->getCategories(); header('Content-Type: text/xml; charset=utf-8'); echo $categories; break; case 'get_tests_by_category': $category = $_GET['category']; //$bdManager = pdo_manager::getDB(); $bdManager = new pdo_manager(); $tests = $bdManager->getTestsByCategory($category); header('Content-Type: text/xml; charset=utf-8'); echo $tests; break; default: echo 'Who are you?)'; }