猿问

从 wpdb 填充下拉列表

我正在尝试从我的 wpdb 中检索一个列表并填充一个下拉列表,但似乎我做错了什么,因为下拉列表中有 2 个空值(我返回了 2 个结果)。


<?php

global $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>';

     }


    ?>


富国沪深
浏览 61回答 1
1回答

天涯尽头无女友

该方法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>';      }
随时随地看视频慕课网APP
我要回答