我正在尝试从我的 wpdb 中检索一个列表并填充一个下拉列表,但似乎我做错了什么,因为下拉列表中有 2 个空值(我返回了 2 个结果)。<?phpglobal $wpdb;global $results;$results = $wpdb->get_results ( "SELECT Firstname from Professionals" );?><div class="wrap"> <div id="primary" class="content-area"> <main id="main" class="site-main" role="main"> <?php get_search_form(); ?> <select class="dropdown" id="mydropdown" name="mydropdown" title="My Dropdown"> <?php foreach ($results as $value) { echo '<option value="' .$value. '">' .$value. '</option>'; } ?>
1 回答
天涯尽头无女友
切换到
TA贡献1831条经验 获得超9个赞
该方法get_results()
返回一个对象数组或数组,但您将其视为一个字符串数组。
你有几种方法可以解决这个问题。
切换到get_col()
如您所料,此方法将返回一个字符串数组。
$results = $wpdb->get_col("SELECT Firstname from Professionals" );
使用对象索引
默认返回的get_results()
是一个数组 ob 对象,其中列作为对象的属性。这不适用于所有列名,但应该适用于您的列名。
foreach ($results as $value) { echo '<option value="' .$value->Firstname. '">' .$value->Firstname. '</option>'; }
使用数组表示法
get_results()
您需要为函数 ARRAY_A提供第二个参数:
$results = $wpdb->get_results ( "SELECT Firstname from Professionals", OBJECT ); foreach ($results as $value) { echo '<option value="' . $value['Firstname'] . '">' .$value['Firstname'] . '</option>'; }
- 1 回答
- 0 关注
- 60 浏览
添加回答
举报
0/150
提交
取消