我有一个值表,我希望用户从列表中选择一行,在WordPress页面中使用下拉菜单,并在同一个WordPress页面中填充各个列的值。
我正在尝试学习如何在WordPress中使用$ wpdb类来执行此操作,我试图先了解如何编写将在用户浏览器中显示的内容,但我想我可能会遗漏一些关键部分:
我所做的是在我的WordPress数据库中创建一个名为'wp_axleaa'的表。我正在尝试查询此表,我打印的唯一结果是“Array”
我写了一个插件如下:
<?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网站,当我查看页面时,它只显示“数组”。如果我在SQL语句中添加WHERE子句,那么我会在页面上收到错误消息。
我是新手WordPress并编写PHP,非常感谢任何帮助,如果这是一个冗长的问题,我很抱歉...
非常感谢,
答案 0 :(得分: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;
}
答案 1 :(得分:0)
您的问题并不完全是检索数据库信息。 首先,短代码值should be return
ed 。不是 print
ed 或 echo
ed 。 第二,您需要对从数据库查询中收到的数组执行某些操作。
要使用格式良好的数组内容显示而不是print $display;
,请使用:
return '<pre>' . print_r( $display, true ) . '<pre>';
如果您想要快速学习,您需要经常查阅文档: