0

我有一个值表,我希望用户在 WordPress 页面中使用下拉菜单从列表中选择一行,并在同一个 WordPress 页面中填充来自不同列的值。

我正在尝试学习如何在 WordPress 中使用 $wpdb 类来执行此操作,我首先尝试了解如何编写将显示在用户浏览器中的内容,但我认为我可能会遗漏一些关键部分:

我所做的是在我的 WordPress 数据库中创建一个名为“wp_axleaa”的表。我正在尝试查询此表,我得到的唯一结果是“数组”</p>

我写了一个插件如下:

<?php
/**
* @package Trying to Connect
* @version 1.6
*/
/*
Plugin Name: Trying to Connect
Plugin URI:
Description: Connecting to DB with $wpdb
Author: Paul J
Version: 1.0
Author URI:
*/

function tc_info() {
    global $display;
    global $wpdb;
    $display = $wpdb->get_results(
    '
    SELECT *
        FROM $wpdb->wp_axleaa
    ');
    print $display;
    }

add_shortcode('showinfo','tc_info');
?> 

然后我将简码 [showinfo] 放入我的 WordPress 网站,当我查看页面时,它只显示“Array”。如果我在 SQL 语句中添加 WHERE 子句,则会在页面上收到错误消息。

我对 WordPress 和编写 PHP 非常陌生,非常感谢任何帮助,如果这是一个冗长的问题,我很抱歉......

非常感谢,

4

2 回答 2

1

那是因为 get_results() 返回一个数组。您可能希望像这样修改您的代码:

function tc_info() 
{
    global $wpdb;
    $output = '';

    $sql = 'SELECT * FROM $wpdb->wp_axleaa';

    $rows = $wpdb->get_results( $sql );

    if ( $rows ) {
       foreach ( $rows as $row ){
     $output .= $row[0];
       }
    }
    print $output;  
 }
于 2013-11-05T04:44:41.617 回答
0

您的问题不完全是检索数据库信息。首先,应该 return编辑Shortcode 值。未printedechoed其次,您需要对从 DB 查询接收到的数组进行处理。

要对数组内容进行格式良好的显示,而不是print $display;,请使用:

return '<pre>' . print_r( $display, true ) . '<pre>';

如果你想在学习中快速进步,你需要经常查阅文档:

于 2013-07-01T16:48:11.313 回答