2013-07-01 110 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; 
} 
相關問題