2013-07-01 80 views
0

我有一个值表的表格,我希望用户从列表中选择一行,并在WordPress页面的下拉菜单中选择一行,并填入各个列中的值相同的WordPress页面。

我想学习如何在WordPress中使用$ wpdb类来做到这一点,我想先了解如何编写将在用户浏览器中显示的内容,但我想我可能会缺少一些关键部分:

我所做的是在我的WordPress数据库中创建一个名为'wp_axleaa'的表。我试图查询这个表,我也得到印刷唯一的结果就是“阵列”

我写了一个插件如下:

<?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

你的问题是不完全检索数据库信息。 First,Shortcode值should bereturn ed。不是print edecho ed,您需要对您从数据库查询中收到的数组执行操作。

为了对数组内容的格式良好的显示,而不是print $display;,使用方法:

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

如果你想在学习进度快,你需要经常查阅的文档:

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; 
} 
相关问题