Помогите сформировать поиск по бд.
В PHP определяется ник пользователя и заносится в переменную: $autor_posts.
Есть некая БД, в ней есть таблица bs_usermeta, с столбцами: umeta_id, user_id, meta_key, meta_value.
1. В столбце meta_value ищем ник $autor_posts
2. когда находим ник, определяем в этой строке ID из столбца user_id
3. далее ищем по всем строкам совпадение по трем столбцам: user_id, meta_key, meta_value
user_id - должно быть искомое в п.2 ID
meta_key - строка mjob_delivery_order
meta_value - там искомое число - все ради этого числа
заносим число в переменную и выводим где нужно echo...
Приложил скин таблицы.
Если кратко: есть ник, по нему определяям ID, и ищем совпадение в одной строке трех столбов: ID(определенное по нику)+meta_key(mjob_delivery_o rder) +meta_value (нужное число).
1. rasl89 - 08 Июня, 2020 - 20:16:57 - перейти к сообщению
2. Albert - 09 Июня, 2020 - 01:39:35 - перейти к сообщению
Если у вас user_id - это ID пользователя, а meta_key - это его ник, то почему в таблице дублируются user_id? Причем с разными meta_key...
3. rasl89 - 09 Июня, 2020 - 09:46:16 - перейти к сообщению
Albert пишет:
Если у вас user_id - это ID пользователя, а meta_key - это его ник, то почему в таблице дублируются user_id? Причем с разными meta_key...
Спасибо за ответ.
Эта таблица стандартная на WordPress.
Туда забиты все данные по пользователям по порядку. Сначала все поля для ID 1, потом ниже...
Для этого я и хочу организовать поиск.
Есть ник, по нему определяям ID, и ищем совпадение в одной строке трех столбов: ID(определенное по нику)+meta_key(mjob_delivery_o rder) +meta_value (нужное число).
4. Albert - 09 Июня, 2020 - 16:01:42 - перейти к сообщению
Если это wp. то получить объект пользователя по логину, нику или почте можно с помощью функции get_user_by().
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- // получаем объект пользователя по нику
- $user = get_user_by('slug', $autor_posts);
- // получаем значение поля mjob_delivery_order
- $mjob_delivery_order = $user->get('mjob_delivery_order');