【问题标题】:Retrieve Data from Database using Shortcode使用简码从数据库中检索数据
【发布时间】:2017-06-29 20:14:36
【问题描述】:

我正在尝试使用我找到的简码函数从 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']

【问题讨论】:

  • 我仍然想弄清楚的是如何使用这个短代码只检索我想要显示的列:[fetchdata table_name='my_wp_table' columns ='Display_Name''First_Name''Last_Name ' 'Address_1' 'Address_2' 'City' 'State' 'Phone'] 目前我得到了表中每一列的所有值。任何帮助,将不胜感激。提前谢谢你,兰迪

标签: php mysql arrays wordpress shortcode


【解决方案1】:

好吧,我想你只是想摆脱表格,因为你想用 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>';
}

希望,它会有所帮助。

【讨论】:

  • 完美!我留下了积极的投票,但由于我是新手,所以没有显示。非常感谢我删除了显示列标题的回声,因为我将应用标签。我没有得到的是如何使用我的简码仅检索我想要的列: [fetchdata table_name='my_wp_table' columns ='Display_Name' 'First_Name' 'Last_Name' 'Address_1' 'Address_2' 'City' 'State ''电话']
  • 如果回答了您的问题,您可以接受。稍后我会为您更新答案。
  • 好的,我点击了复选标记,它现在是绿色的。谢谢!
  • 我仍然想弄清楚的是如何使用这个短代码只检索我想要显示的列:[fetchdata table_name='my_wp_table' columns ='Display_Name''First_Name''Last_Name ' 'Address_1' 'Address_2' 'City' 'State' 'Phone'] 目前我得到了表中每一列的所有值。任何帮助,将不胜感激。提前谢谢你,兰迪
猜你喜欢
  • 2016-01-29
  • 1970-01-01
  • 2019-11-19
  • 2012-12-18
  • 2018-04-22
  • 2013-05-15
相关资源
最近更新 更多