Как сделать цикл запросов к sql при не нахождении нужных данных в одной таблице он будет искать в другой, а в случае не нахождения вовсе просто false
$db = Db::getInstance();
$stmt = $db->prepare( "SELECT * FROM $table WHERE $sql_req = ? " );
$stmt->execute(array( $r ));
if( $stmt->fetch(PDO::FETCH_ASSOC) ) {
$act = $a ;
$req = $r ;
} else {
// Error
// Если ошибка то повторяется цикл но другой таблицы
}
Примечание:
Работать умею...
Вообщем так:
Есть 3 разные таблицы
table1
table2
table3
Общее только id все остальные столбцы разные...
Например у table1 & table2 есть столбец "url" а у table3 есть "title"
Должна быть проверка существования запрашиваемых данных в таблице...
например:
site.com/djoni
$a = 'all' ;
$r = 'djoni'
Проще говоря действие all и запрос ....
Нужно проверить есть ли страницы в разных таблицах с таким url или title
Можно решить просто
$db = Db::getInstance();
$stmt = $db->prepare( "SELECT * FROM $table1 WHERE $sql_req = ? " );
$stmt->execute(array( $r ));
if( $stmt->fetch(PDO::FETCH_ASSOC) ) {
// все ок
} else {
$stmt = $db->prepare( "SELECT * FROM $table2 WHERE $sql_req = ? " );
$stmt->execute(array( $r ));
if( $stmt->fetch(PDO::FETCH_ASSOC) ) {
// ок 2
} else {
$stmt = $db->prepare( "SELECT * FROM $table3 WHERE $sql_req = ? " );
$stmt->execute(array( $r ));
if( $stmt->fetch(PDO::FETCH_ASSOC) ) {
// ок 3
} else {
// Error
}
}
}
Но тут много кода да и 3 раза посылается запрос (
Спасибо за ответ )
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.