В базе есть таблица "sef_url" с полями "old_url" и "new-url" Необходимо, чтобы при запросе ссылки site.domain/something-interesting на сайте, из index.php шло обращение к базе с поиском необходимой строки, совпадающей с new_url и подставляло в обработчик маршрутов old_url. И если подставить значения при условии их наличия - дело простое, то насчёт обращения к базе, поиска необходимой строки и "изъятия" соседней - тут у меня проблема, так как я плохо знаю синтаксис запросов к mySql. Как понимаю: 1. Поиск в базе "new_url" 2. Получение индекса строки $1 3. Получить "old_url" из строки с индексом $1 4. Присвоить $current_url = $old_url 5. Отправить обработчик маршрутов
так и делай, пункт 2 b 3 не нужен, сразу d 1 одним запросом делаются Код (Text): SELECT old_url FROM t WHERE new_url = 'bla-bla'
У меня получилось как-то вот так: PHP: public function route() { $required_url = ($_SERVER["REQUEST_URI"]); $url_result = mysql_query("SELECT alias_old FROM alias_url WHERE alias_new='$required_url' "); if ($url_result !='') { $required_url = $url_result; } elseif ($required_url=='/') { //Если открыта главная страница include_once "index1.php"; //Открываем файл главной страницы } elseif (isset($this->_route[trim($required_url, "/")])){ //Если маршрут задан include_once $this->_route[trim($required_url, "/")]; //Открываем файл, для которого установлен маршрут } else return false; //Если маршрут не задан return true; } Но сайт выдаёт ошибку 500, на любой странице. Класс обработки ЧПУ был взят на просторах интернета
1. не надо сразу подставлять в запрос переменные ... почитай про SQL иньекции 2. запросы к БД не так выполняются, так-же поищи как это делается именно в php - надо сначала соединиться к бд, потом правильно отправить запрос, потом правильно обработать результат то что где то взят какой-то класс вообще не говорит что он нормальный, или что вы его правильно используете маршрутизировать через Код (Text): include_once "index1.php" - это вообще отстой, не для того эта инструкция + что мешает мне сразу в адресной строке index1.php указать кароче дурдом, нужны хотя-бы базовые знания и умения