2013-12-06 2 views
0

мне нужно сделать что-то вроде этого:SQL SELECT строк из одной таблицы с использованием массива берется из другой таблицы

$user_id = (int) get_logged_in_userud(); 

**$thread_ids** = $wpdb->query("SELECT thread_id FROM $tableName1 WHERE user_id = %s), $user_id); 

$iterateRows = $wpdb->query("SELECT thread_id FROM $tableName2 WHERE thread_id IN $s), **$thread_ids**); 

Я попытался схватить его таким образом, но он возвращает массив в массив и каждой строки является ассоциативным массивом. Как только у меня есть эти данные, мне нужно выполнить итерацию по всем выбранным строкам с чем-то вроде цикла while.

Я попытался сделать это сам по себе и придумал приведенный ниже код. Но это не в удобном формате. Мне нужно эхо через каждый элемент, как $ row ['col_name']; для каждого столбца. Цель состоит в том, чтобы перечислить все сообщения, соответствующие thread_id и user_id.

$grabThreadList = $wpdb->query($wpdb->prepare("SELECT A.* FROM $recipientTableName WHERE A.thread_id IN (SELECT B.thread_id FROM $senderTableName WHERE B.thread_is = A.thread_id ")); 

    foreach ($grabThreadList as $key => $value){ 

    $implodeMe = implode(',,,few ', $value); 

} 

ответ

0

Вы, вероятно, может сделать это только с SQL, если это то, что вы пытаетесь сделать:

SELECT thread_id FROM $tableName2 WHERE thread_id IN (SELECT thread_id FROM $tableName1 WHERE user_id = %s) 
Смежные вопросы