2017-02-11 7 views
1

私が見つけたショートコード機能を使用してワードプレステーブルからデータを取得しようとしています。これは、すべての列のデータを処理して取得します。私が必要とする列を指定しようとすると、それでも私はすべてを与えます。最終的に私がやろうとしているのは、必要な列のデータを取得し、そのデータをCSS(表形式ではない)を使用してスタイルすることです。私はPHPに慣れていないので、誰かがこれがショートコードを使用して可能であるかどうか知らせることができるかどうか疑問に思っていました。可能であれば、どんな助けもありがとうございます。ここでは、事前にランディショートコードを使用してデータベースからデータを取得する

をありがとう、私が使用していたコードです:

if (!defined('WP_FD_ABSPATH')) 

define('WP_FD_ABSPATH', plugin_dir_path(__FILE__)); 

function wp_first_shortcode($atts){ 
global $wpdb; 
$a = shortcode_atts(array(
'table_name' => ", 
'columns' => ", 
), $atts); 
$showcolumns=array(); 
if($a['columns']!=""){ 
$column=$a['columns']; 
$showcolumns=explode(',',$a['columns']); 
} 
else{ 
$column='*'; 
$get_columns=$wpdb->get_results("describe ".$a['table_name'].""); 
foreach($get_columns as $fields) $showcolumns[]=$fields->Field; 
} 

$columncount=count($showcolumns); 

$result_query=$wpdb->get_results("select $column from ".$a['table_name'].""); 
echo '<table><tr>'; 
for($i=0;$i<$columncount;$i++) echo '<th>'.$showcolumns[$i].'</th>'; 
echo '</tr>'; 
foreach($result_query as $result_row){ 
echo '<tr>'; 
for($i=0;$i<$columncount;$i++) echo '<td>'.$result_row->$showcolumns[$i].'</td>'; 
echo '</tr>'; 
} 
echo '</table>'; 
} 
add_shortcode('fetchdata', 'wp_first_shortcode'); 
function table_value_function() { 
query_value(array('orderby' => 'date', 'order' => 'DESC' , 'showvalues' => "")); 
wp_reset_query(); 
return $return_string; 
} 
?> 

ここで私が使用していますショートです:

[fetchdata table_name='my_wp_table' columns ='Display_Name' 'First_Name' 'Last_Name' 'Address_1' 'Address_2' 'City' 'State' 'Phone'] 
+0

私はまだこのショートコードを使用して表示したい列だけを取得する方法を理解しています。[fetchdata table_name = 'my_wp_table' columns = '表示名' 'First_Name' 'Last_Name' 'Address_1' ' Address_2 '' City '' State '' Phone ']現在、私はテーブルの各列のすべての値を取得します。どんな助けもありがとう。事前にありがとう、ランディ –

答えて

0

[OK]を、私はあなただけを取り除くしたいと思いますあなたはCSSでそれをスタイルしたいと思うので、テーブルの。以下のコードに従ってください:

echo '<div class="something">'; 
for($i=0;$i<$columncount;$i++) echo '<h1>'.$showcolumns[$i].'</h1>'; 

foreach($result_query as $result_row){ 
echo '<div class="something_2">'; 
for($i=0;$i<$columncount;$i++) echo '<p>'.$result_row->$showcolumns[$i].'</p>'; 
echo '</div>'; 
} 
echo '</div>'; 
} 

希望すると助かります。

+0

パーフェクト!私は肯定的な投票を残しましたが、私は初心者であったので、それは表示されませんでした。ラベルを貼り付けるので、列ヘッダーを表示するためのエコーを削除していただきありがとうございます。私が取得できないことは、ショートコードを使用したい列だけを取得する方法です。[fetchdata table_name = 'my_wp_table' columns = 'Display_Name' 'First_Name' 'Last_Name' 'Address_1' 'Address_2' 'City' 'State '電話'] –

+0

あなたの質問に答えた場合は、回答を受け入れることができます。私は後であなたのために答えを更新します。 –

+0

さて、チェックマークをクリックして緑色になりました。ありがとうございました! –

関連する問題