为了账号安全,请及时绑定邮箱和手机立即绑定

从 wpdb 填充下拉列表

从 wpdb 填充下拉列表

PHP
富国沪深 2023-03-11 15:32:36
我正在尝试从我的 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>';
     }


查看完整回答
反对 回复 2023-03-11
  • 1 回答
  • 0 关注
  • 60 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信