格式化$ wpdb-> get_results

时间:2017-05-28 08:17:01

标签: php mysql wordpress

我用过 ...

$result = $wpdb->get_results( $query );
foreach ( $result as $print ) {
    echo $print->name;
    echo $print->count;
    echo "<br>";
}

输出是:

jo2 
clea10
jim10

现在我需要让它像

一样
  ['jo', '2'],
  ['clea', '10'],
  ['jim', '10'], 

我试过

<?php
     foreach ( $result as $print ) {
         echo "['".$print->name."', '".$print->count."'],";
     }
 ?>

if($result->num_rows > 0){
      while($row = $result->fetch_assoc()){
          echo "['".$row['name']."', ".$row['count']."],";
      }
}

但它不起作用。我试图使用wordpressDatabase在Wordpress中运行这个,这就是我使用$wpdb->get_results的原因

由于

1 个答案:

答案 0 :(得分:0)

我不确定你在查询什么,所以我嘲笑了另一个例子,只是返回网站的页面。您可以在示例中将post_name替换为ID以及ID的计数。

我刚刚为您尝试将WP标准更接近地添加了空格,但使用引号并不是那么可读。

$result = $wpdb->get_results ( "
                SELECT *
                FROM  $wpdb->posts
                    WHERE post_type = 'page'
            " );

foreach ( $result as $key => $print ) {
  echo "['" . $print->post_name . "', '" . $print->ID . "'],<br>";
}

另一种方法,如果你习惯这样阅读,就是在整个输出周围使用双引号。

foreach ( $result as $key => $print ) {
  echo "['{$print->post_name}', '{$print->ID}'],<br>";
}

如果这两种方法都不起作用,我建议你的查询可能会有问题,但如果没有更多的信息则很难说