2012-07-31 22 views
0

我是PHP新手,我需要你的建議。謝謝你的幫助!如何從SQL函數結果中獲取ID列表中的帖子?

我與PHP的工作,我需要得到只有圖片附件的帖子。 我寫的SQL函數:

global $wpdb; 
$postsID = $wpdb->get_results 
(" 
    SELECT ID 
    FROM $wpdb->posts 
    WHERE 
    post_status = 'publish' 
    AND 
     ID IN (
    SELECT DISTINCT post_parent 
    FROM $wpdb->posts 
    WHERE 
     post_parent > 0 
    AND 
     post_type = 'attachment' 
    AND 
     post_mime_type IN ('image/jpeg', 'image/png') 
    ) 
    ORDER BY post_date DESC 
    LIMIT 0 , 5 
"); 

現在我想要使用此功能的結果,並與get_posts工作(「P =的函數結果」);

如何結果和調用這個函數連接?我無法理解如何將參數傳遞給函數。

謝謝!

更新:我的理解,get_posts沒有可以讓我通過ID列表,我可以通過唯一的一個。我如何獲得帖子,如果我有一個ID列表?

+0

什麼是類'$ wpdb'的? – Matt 2012-07-31 19:04:01

+0

它用於sql連接,如果我理解正確 – George 2012-07-31 19:09:18

+0

是的,但是什麼* CLASS *?什麼樣的對象?如果您想知道如何使用該類的成員函數,這一點很重要。 – Matt 2012-07-31 19:14:09

回答

1

如果你想簡單地檢查什麼正在這個函數返回,只需加入這一行執行查詢後:

var_dump($postsID); 

如果你想要做東西的數據,可以做很多方面,但這取決於你想要做什麼;在這個論壇上有太多的選擇。

UPDATE:基於在下面的意見談話,它看起來像你想要的結果($postsID)的鑰匙傳遞給$ wpdb-> get_posts()函數。

如果get_posts()只是需要一個唯一的ID作爲這裏的參數是你必須做的:

// I'm assuming a simple key=>value pair in your array. Modify your code as needed 
foreach($postsID as $id) { 
    $result = $wpdb->get_posts($id); 

    // code that will do "something" with $result 
} 

更新2:由於$postsID看起來是這樣的:陣列(5){[0] =>對象(stdClass)#4015(23){[「ID」] => string(3)「779」[「post_author」] => string(2)「12」[「post_date」] => string(19) -07-27 08:53:22「[」post_date_gmt「] =>字符串(19)」2012-07-27 08:53:22「[」post_content「] => string(356)」Text「[」post_title 「] =>串(58) 」Продам2-кквартируРусскоеПоле「[」 post_excerpt 「] =>串(0) 」「[」 post_status 「] =>串(7) 」發佈「[」 comment_status「] = > string(4)「open」[「ping_st的ATU 「] =>串(4) 」打開「[」 post_password 「] =>串(0) 」「[」 POST_NAME 「] =>串(162)」 %D0%BF%D1%80%

你將需要從每個對象採取ID,並將其插入到一個臨時數組,並把它傳遞給get_posts()

// $args = array('post__in' => array(779,772,768,761,716)); 
$tempArr = array(); 
foreach ($postsID as $obj) { 
    $tempArr[] = $obj->id; 
} 

$args = array('post__in' => $tempArr); 
$result = $wpdb->get_posts($args); 
+0

感謝這個有用的功能,它幫助了我很多。但我仍然不知道如何將SQL過程的結果與get_posts()函數連接... – George 2012-07-31 19:34:14

+0

我不確定您的意思是「連接SQL過程的結果」 – Matt 2012-07-31 19:34:48

+0

我有一個包含結果的數組。我需要從這個數組中獲取ID並將它們作爲參數傳遞給get_posts()函數。 – George 2012-07-31 19:35:59