使用mysql_query WordPress将子孙添加到数组中

时间:2016-06-08 20:38:19

标签: mysql json wordpress children

编辑:已解决

通过修改孙子数组来解决这个问题 - 在PDO准备函数中使用它之前需要进行内爆。

我是新来的,希望我能做到这一点!

我正在尝试完成以下操作以在WordPress数据库上运行查询:

  1. 使用mysql PDO准备函数来检索所选父项的子帖子
  2. 使用另一个PDO准备功能来检索孙子帖子
  3. 将所有这些合并到一个数组(相同的密钥)
  4. 我已经尽可能地展示了孩子,但是在将孙子孙女添加到阵列中时遇到了麻烦。这是代码:

    $id=$_REQUEST['selected'];
    $a=implode(',', array_map('intval', $id));
    
    
    $hostname='localhost';
    $username='victoria_wp_site';
    $password='PASSWORD';
    
    $db = new PDO("mysql:dbname=victoria_wp_site;host=$hostname",$username,$password);
    
    $qry = $db->prepare("SELECT id,post_title 
              FROM `wp_posts` 
             WHERE `post_parent` IN ($a) and post_name not like '%revision%' ");
    $qry->execute();
    
    $i=0;       
    while($data = $qry->fetch()){
    $result[$i]=$data;
       $i++;
            }
    
    
    $b = implode(',', array_column($result, 'id'));
    
    $qry_grandchild = $db->prepare("SELECT id, post_title 
              FROM `wp_posts` 
             WHERE `post_parent` IN ($b) AND post_name not like '%revision%' ");
    $qry_grandchild->execute();      
    
    
    while($data = $qry_grandchild->fetch()) {
        $result[$i]=$data;
        $i++;
    }       
    
    
    echo json_encode($result);
    

    不确定我做错了什么。非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

问题在于用于选择孙子的数组的格式。我在使用implode函数选择孙子之前解决了这个问题。

$b = implode(',', array_column($result, 'id'));

$qry_grandchild = $db->prepare("SELECT id, post_title 
          FROM `wp_posts` 
         WHERE `post_parent` IN ($b) AND post_name not like '%revision%' ");
$qry_grandchild->execute();