Составить SQL-запрос запрос через wpdb() из 2 таблиц WordPress
Прошу помощи с составлением SQL-запроса через wpdb() для вывода в таблицу во frontend'e данных из 2 таблиц.
Условие:
- Есть стандартная таблица WordPress
wpux_usermeta
из которой надо "выдернуть" meta_key со значением:first_name
,last_name
,telephone
... - Есть созданная таблица WordPress
wpux_daily_report
(структуру приложил) из которой надо "выдернуть" значения:date
,activity
,bad_food
,menstruation
,weight
.... - Обе таблицы имеют поле
user_id
с помощью которой связываются. - Итоговую табличку вывожу через foreach (скрин приложил). В итоге должен получиться запрос, который выводит требуемые данные всех пользователей для текущего дня занятий с выборкой данных из 2 таблиц:
wpux_usermeta
иwpux_daily_report
- Также прошу показать как правильно "вставить" input в последний столбик получивший таблицы, для обратной отправки в
wpux_daily_report
.
У меня получилось обратиться только к wpux_daily_report
, и соот. неполноценный результат (скрин приложил). Как работать сразу с 2 таблицами не могу разобраться.
<table class="daily_report_table"> <tr> <th>ФИО</th> <th>Телефон</th> <th>Активность</th> <th>"Вкусняшки"</th> <th>Дата Х</th> <th>Х сегодня</th> <th>Текущий вес</th> <th>Дельта со вчерашним днем</th> <th>Комментарий по отчету</th> </tr> <?php //Вторая таблица - сегодня $current_user_report = $current_user->ID; $current_day_report = current_time ('j',0); $this_month_report = $wpdb->get_results( " SELECT * FROM wpux_daily_report WHERE DAY(date) = $current_day_report ORDER BY user_id " ); if( $this_month_report ) { foreach ( $this_month_report as $string_report ) { echo '<tr>'; echo '<td>'; echo $string_report->user_id; echo '</td>'; echo '<td>'; echo $string_report->telephone; echo '</td>'; echo '<td>'; echo $string_report->activity; echo '</td>'; echo '<td>'; echo $string_report->bad_food; echo '</td>'; echo '<td>'; echo $string_report->first_blood_day; echo '</td>'; echo '<td>'; echo $string_report->menstruation; echo '</td>'; echo '<td>'; echo $string_report->weight; echo '</td>'; echo '<td>'; $today_weight = $string_report->weight; $delta = $today_weight - $yesterday_weight; echo $delta; echo '</td>'; echo '<td>'; echo '<input class="text-input" name="comment_admin_report" type="text" id="comment_admin_report" value="" />'; echo '</td>'; } } ?> </table>
Но лучше указать только нужные поля так: вместо wu.* написать wu.first_name, wu.last_name, wu.telephone... и тп
По input тебе нужно сделать по другому: добавить форму и все нужные поля + копка субмит далее нужно написать код обработки данной формы, что бы результаты записать в базу данных.
Если тебе зачем то нужно ID как в твоем примере id="comment_admin_report"
Учти что ID должен быть уникальным, используй например так: id="comment_admin_report_".$string_report->user_id."
Что бы добавить комментарий нужно знать как эти комментарии у тебя храняться в базе.
Псевдокод как положить коммент в базу: