Подскажите как правильно сформировать запрос если в одной базе у меня хранятся префиксы городов и по этим префиксам нужно подключиться к другим базам и там выбрать нужные данные с таблиц к примеру есть база
public
- общая база где можно найти список городов
select id, prefix
from public.city
where active = 1
здесь мы получаем массив с префиксами городов к примеру london, kiev
и есть базы городов
base_london
base_kiev
как мне добраться к таблицам user каждого города при условии что у меня уже есть префиксы городов ?
select *
from (select prefix
from public.city
where active = 1) as pc
....... ???
БД MySql 5.6
и у всех баз есть таблица user base_london.user или base_kiev.user
хотелось бы одним запросом вытянуть всех юзеров с разбивкой по городам
У вас не получится в конструкции from
указать результат подзапроса. Первым запросов вы извлекасаете перечень нужных префиксов, вторым уже непосредственные данные.
Если работаете только с одним городом, то префикс (вообще префикс это в начале слова, а суффикс в конце, так что london
в base_london
это суффикс) в переменную, и ее в запрос. Если префиксов несколько, то объединяете запросы через UNION
$row = $c->execute("select ... from `public.city` where .... limit 1")
->fetch('assoc');
$dbname = "base_" . $row['prefix'];
$users = $c->execute("select ... from `$dbname`.users where ....")
->fetchAll('assoc');
либо
$cities = $c->execute("select ... from `public.city` where ... ")
->fetchAll('assoc');
$queries = [];
$prefixes = array_column($cities, 'prefix');
foreach($prefixes as $p){
$dbname = "base_$p";
$queries[] = "SELECT ...
, '$p' as city
FROM `$dbname`.users
WHERE ....";
}
$sql = implode("\nUNION\n", $queries);
$users = $c->execute($sql)->fetchAll('assoc');
зы: код условный
Виртуальный выделенный сервер (VDS) становится отличным выбором
на данный момент есть такой маршрут category/{cid}-{clink}/ Получается, что передается только одна категорияА нужно чтобы категории перечислялись...
Пытаюсь сохранить данные из формы contact form 7, но при сохранении изображения выдаёт ошибку Specified file failed upload test
При изменении php файлов выводится сообщение "Reloading Browsers