使用 mysql_query WordPress 添加 children 和 grandchildren 到数组

add children and grandchildren to array using mysql_query WordPress

编辑:已解决

最终我自己通过修改 grandchild 数组解决了这个问题——它需要先分解才能用于 PDO 准备函数。


我是新来的,希望我做对了!

我正在尝试完成以下 运行 对 WordPress 数据库的查询:

  1. 使用 mysql PDO 准备函数检索 child 所选 parents
  2. 的帖子
  3. 使用另一个 PDO 准备函数来检索 grandchild 篇文章
  4. 将所有这些合并到一个数组中(相同的键)

我已经显示了 children,但无法将 grandchildren 添加到数组中。这是代码:

$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);

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

问题出在用于 select 孙辈的数组格式上。我通过在将它用于 select 孙子之前将 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();