使用短代码从数据库中检索数据

时间:2017-02-11 14:30:45

标签: php mysql arrays wordpress shortcode

我正在尝试使用我发现的短代码函数从wordpress表中检索数据。它可以工作并检索所有列的数据。当我尝试指定我想要的列时,它仍然会给我一切。最终我要做的是检索我想要的列的数据,并使用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']

1 个答案:

答案 0 :(得分:0)

好吧,我认为你只想摆脱桌面,因为你想用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>';
}

希望,这有帮助。