【发布时间】:2013-10-08 13:20:40
【问题描述】:
我正在尝试使用从存储在 wordpress 数据库中的 mysql 表中提取的值填充表。
我已经成功地用记录的字段填充了表格的主体,但我想将每个特定字段的列名显示为标题。请注意,我想要左侧的标题和右侧的值,而不是像传统表格那样的上下。
我已经尝试使用“SHOW COLUMNS FROM $table_name”以及 mysqli_fetch_field_direct 函数,但我无法找到一种方法让它以我正在寻找它是循环的一部分的格式工作。我是 PHP 新手,所以我确信它很简单,但我完全被卡住了。
我的代码在下面,我已经标记了要回显字段名称的位置。
我基本上想要实现的是这样的表格:
column_1_name:field_in_column_1
column_2_name:field_in_column_2
column_3_name:field_in_column_3
...
提前感谢您的帮助!
<table class="widefat">
<tbody>
<?php
global $wpdb;
$table_name = $wpdb->prefix . "consultation";
$query = "SELECT * FROM $table_name WHERE id=$_GET[id]";
$results = $wpdb->get_results($query);
// Test if there was a query error
if (!$results) {
die ("Please select a user from the Consultation admin homepage");
} else {
foreach ($results as $record) {
foreach ($record as $field) {
echo "<tr><th>" . **THIS IS WHERE I WANT COLUMN NAME OF $field** . "</th><td> {$field}</td></tr>";
}
}}
?>
</tbody>
【问题讨论】:
-
为什么要使用两个
foreach循环? -
感谢 WebNovice,效果很好。我使用了 2 个 foreach 循环,因为由于某种原因,$results 变量包含一个包含另一个数组的数组……不知道为什么。这是 wpdb->get_results 的功能吗?有没有更好的方法来做到这一点?感谢您的帮助
-
看来确实如此。我改用 get_row 并且只需要一个循环。谢谢!
标签: php mysql wordpress foreach