我正在尝试显示由我的Wordpress插件(特别是ID)创建的特定列中的所有值。这是我设法用来显示列名的代码,但我不能只显示所有ID。这是代码:
function test() {
global $wpdb;
global $table_name;
$testing = $wpdb->get_col_info('name', 0);
foreach ($testing as $test) {
echo $test;
}
}
在这里你可以看到输出:
www.matthewruddy.com/premiumslider
任何人都可以帮助我吗?
答案 0 :(得分:0)
您似乎想要数据而不是列信息。所以你需要another function。
$testing = $wpdb->get_results("SELECT id FROM mytable")
foreach ($testing as $test) {
echo $test->id
}
修改强>:
好的,这个怎么样:
$wpdb->show_errors();
echo 'Listing from table: $table_name<br>';
$ids = $wpdb->get_col($wpdb->prepare("SELECT id FROM %s", $table_name));
if ($ids) {
echo 'printing results:<br>';
foreach($ids as $id) {
echo $id;
}
} else {
echo 'no results or error<br>';
echo 'error: ' . $wpdb->print_error();
}
$wpdb->hide_errors();
如果这不能帮助您获取您的ID或弄清楚错误是什么,我就迷路了。
答案 1 :(得分:0)
对于这个问题可能有点晚了,但我认为它仍然与今天的WordPress世界有关,也是我遇到创建自己的插件的情况。
所以对于其他人来说,这对我有用。 OP几乎拥有它。但是,$ wpdb-&gt; get_col_info()依赖于其结果的缓存结果,因此需要首先调用$ wpdb-&gt; get_results或get_row或查询。 :)
我也很喜欢littlegreen的错误处理。
function test() { global $wpdb, $table_name; $wpdb->show_errors(); $return = 'Listing from table: '.$table_name.'
'; $results = $wpdb->get_results("SELECT * FROM ".$table_name); $nameCols = $wpdb->get_col_info('name'); if (is_array($nameCols)) { $return .= 'printing results:
'; foreach($nameCols as $name) { $return .= ' '.$name; } } else { $return .= 'no results or error
'. 'error: ' . $wpdb->print_error(); } $wpdb->hide_errors(); }