Вывести данные из определенной таблицы в зависимости от ID пользователя
Как вывести данные на страницу из разных таблиц для каждого пользователя. Например если в сессии пользователь с ID=5 тогда выводить данные из таблицы user5. И так для разных пользователей. Надо что бы все выводилось при загрузке страницы.
Ответы (1 шт):
Автор решения: phpBear
→ Ссылка
Если я конечно все правильно понял, то как-то вот так...
$id = $_SESSION['user_id'];
if ( is_numeric( $id) && intval( $id ) > 0 ) {
//Формируем sql-запрос к таблице групп которые курирует наш пользователь
//Конечно же нужно делать через PDO и bindParams, но мы упростим
$query = 'SELECT groupname, tablename FROM groups WHERE curator_id='.$id;
//Далее мы выполняем sql-запрос после которого все записи нам вернуться в переменную $groupsList как массив
foreach( $groupsList as $group ) {
//Идем по списку таблиц связанных с указанным пользователем и выбираем из них то, что нам нужно
$tableName = $group['tablename'];
//Исходим из того, что набор полей в этих таблицах одинаковый - поэтому и запрос для всех одинаковый, иначе в чем смысл всего этого огорода с разными таблицами?
$query = 'SELECT id, field1, field2, field3 FROM '.$tableName;
//Опять выполняем sql-запрос, получаем то что нужно и обрабатываем это все
}
$tableName = '';
}