2012-07-31 67 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

相关问题