Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 26.12.2014
Сообщений: 25
MySQL

Вывод данных из разных таблиц на страницу

04.03.2018, 19:27. Показов 3289. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.
Возникла такая проблема. Делаю я диплом, его практическую часть. И вот по задумке есть сайт на wordpress и с подключённым woocommerce.
Так как доступ к админ-панели есть только у администратора, нужно, чтобы и менеджеры магазина могли просматривать список пользователей, но уже через сайт.
Woocommerce всех пользователей помещает в базу данных в таблицу wp_users, а вот их роли в таблицу wp_usermeta.
В php я увы пока разбираюсь плохо, пришлось всё постигать во время написания, но в итоге получился вот такой Франкенштейн:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php 
 
require 'scripts/connect.php';
 
 
$res = mysql_query("SELECT * FROM `wp_usermeta` WHERE meta_key='wp_user_level' ") or die(mysql_error());
echo '<table border="1">';
while($wor = mysql_fetch_assoc($res)) {
    if ($wor['meta_value'] == '10') {
    $priv = "Администратор";
}
else if ($wor['meta_value'] == '9') {
    $priv = "Менеджер";
}
else if($wor['meta_value'] == '0') {
    $priv = "Клиент";
}
    echo '<tr>';
    echo '<td>' . $wor['user_id'] . '</td>';
    echo '<td>' . $priv . '</td>';
    echo '</tr>';
}
echo '</table>';
 
 
 
$ser = mysql_query("SELECT * FROM `wp_users`") or die(mysql_error());
echo '<table border="1"><tr><th>ID</th><th>Логин</th><th>Имя</th><th>Почта</th><th>Дата регистрации</th><th>Права доступа</th></tr>';
while($row = mysql_fetch_assoc($ser)) {
    // echo '<tr><td>'.$row['ID'].'</td><td>'.$row['user_login'].'</td><td>'.$row['display_name'].'</td><td>'.$row['user_email'].'</td><td>'.$row['user_registered'].'</td><td>'.$priv.'</td>...</tr>';
 
    echo '<tr>';
    echo '<td>' . $row['ID'] . '</td>';
    echo '<td>' . $row['user_login'] . '</td>';
    echo '<td>' . $row['display_name'] . '</td>';
    echo '<td>' . $row['user_email'] . '</td>';
    echo '<td>' . $row['user_registered'] . '</td>';
    echo '</tr>';
 
 
 
}
echo '</table>';
 
 
 
?>
Но всё что у меня получилось, это создать две таблицы, в каждую из которых выводится значение из отдельной mysql таблиц. А в итоге хотелось бы, чтобы осталась одна нижняя таблица, данные которой берутся из таблицы wp_users. Но также нужно, чтобы в ней отображалось, к какой категории относится пользователь.
Как в итоге я понял, права пользователей находятся в таблице wp_usermeta в строчке wp_user_level. Вытащить то их успешно получилось, да и в зависимости от числа (10-администратор, 9-менеджер, 0-клиент) получилось им присвоить слово, но вот отобразить это слово во второй таблице не получилось. То вместо вывода всех пользователей выводится только первый и зацикливается до бесконечности, то для всех пользователей почему-то выводится значение "Менеджер". Тут я тоже запутался, почему именно менеджер, я бы ещё понял, если по какой-то ошибке не подошло ни одно значение в условии и вывелось бы значение else равное клиентам, но почему администратор пропускается и выбирается именно менеджер.
Так собственно сам вопрос: Можно ли вывести все нужные поля из первой таблицы, а из второй выцепить значение прав пользователя, заменить это число на кодовое слово и в последнюю строку вывести его?
Миниатюры
Вывод данных из разных таблиц на страницу  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.03.2018, 19:27
Ответы с готовыми решениями:

Вывод данных из разных таблиц
Добрый день, нужна ваша помощь! Перепробовал много способов... но ни один не помог. Суть: У меня две таблицы, в одной есть столб...

Вывод данных из разных таблиц
Здравствуйте. Помогите пожалуйста, уже сломал голову. Имеется 2 таблицы: player_ids player_stats в таблице player_ids...

Вывод данных из нескольких разных таблиц
Добрый вечер, прошу помочь разобраться в следующей ситуации - мне необходимо вывести информацию из разных таблиц одной базы данных,...

2
Особый статус
 Аватар для FloppyDisc
623 / 221 / 164
Регистрация: 18.11.2015
Сообщений: 1,086
05.03.2018, 20:54
Цитата Сообщение от Tascan Посмотреть сообщение
Можно ли вывести все нужные поля из первой таблицы, а из второй выцепить значение прав пользователя, заменить это число на кодовое слово и в последнюю строку вывести его?
Можно, через JOIN "подцепите" другую таблицу и в выводе припишите условия:

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php $query = $mysqli->query('SELECT * FROM `wp_users` u LEFT JOIN `wp_usermeta` um ON u.id = um.user_id');
<table border="1">
   <tr>
       <th>ID</th>
       <th>Логин</th>
       <th>Имя</th>
       ...
       <th>Права доступа</th>
   </tr>
<?php while($row = $query->fecht_assoc()): ?>
   ...
   
<?php
   switch($row['meta_value']){
      case 10:
         $priv = "Администратор";
         break;
      case 9:
         $priv = "Менеджер";
      case 0:
         $priv = "Клиент";
   }
?>
   
   тут остальные столбцы
   <td><?= $priv; ?></td>
   ...
<?php endwhile; ?>
<table>
1
0 / 0 / 0
Регистрация: 26.12.2014
Сообщений: 25
06.03.2018, 00:42  [ТС]
Большое спасибо за ответ) Вы меня выручили))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.03.2018, 00:42
Помогаю со студенческими работами здесь

Вывод данных из разных таблиц по общему полю
Здравствуйте. Это мое первая тема. С Mysql только разбираюсь. Короче. Есть две таблицы table и table1 В обоих есть колонки id_user где...

Парсим xml. Вывод данных из разных таблиц
Имеем xml вида: &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt; &lt;FormData&gt; &lt;Tables&gt; &lt;Table Code=&quot;1&quot;&gt; &lt;Rows&gt; &lt;Row...

Вывод данных на datagrid с разных таблиц из mysql
Вообщем есть база данных: Нужно чтобы на на датагрид выводились нужные мне строки из разных таблиц Попробовал запросом...

Как выводить информацию из разных таблиц Mysql на одну страницу (php), в список
Необходимо, чтоб к одному значению в базе данных прикреплялись значения из других таблиц. Например: Иванов (таблица - клеинты) Новгород...

Вывод значений из разных таблиц
Всем привет! Подскажите, пожалуйста, как сделать такой вывод: Есть в бд таблица i3cxh_minicck в ней я делаю вывод нужных полей, к этим...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru