1

来自 html_form_class 的代码片段

<?php
$frmStr = $frm->addSelectList(
                      'city',
                      $city,
                      true,
                      '',
                      '--- Select City ---',
                      array(
                          'class' => 'dropdown-style5',
                          'id' => 'city')); 
echo $frmStr; ?>

来自seachcar.php 的代码片段

   $city = $db->select('City','City_Name');
foreach($city as $row)
{
 $row;
}

“数组”显示在下拉列表中,而不是从数据库中获取的值请指教!

function addSelectList($name, $option_list, $bVal = true, $selected_value = NULL,
            $header = NULL, $attr_ar = array() ) {
        $str = "<select name=\"$name\"";
        if ($attr_ar) {
            $str .= $this->addAttributes( $attr_ar );
        }
        $str .= ">\n";
        if ( isset($header) ) {
            $str .= "  <option value=\"\">$header</option>\n";
        }
        foreach ( $option_list as $val => $text ) {
            $str .= $bVal? "  <option value=\"$val\"": "  <option";
            if ( isset($selected_value) && ( $selected_value === $val || $selected_value === $text) ) {
                $str .= $this->xhtml? ' selected="selected"': ' selected';
            }
            $str .= ">$text</option>\n";
        }
        $str .= "</select>";
        return $str;
    }

addSelectList 函数的 html 输出是

  <select name="city" class="dropdown-style5" id="city">
  <option value="">--- Select City ---</option>
  <option value="0">Array</option>
  <option value="1">Array</option>
  <option value="2">Array</option>
  <option value="3">Array</option>
4

3 回答 3

2

您需要重建城市数组:

$city = $db->select('City','City_Name');
$city_rebuild = array();
foreach($city as $row) {
    $city_rebuild[] = $row['City_Name'];
}
$city = $city_rebuild;
于 2013-07-23T23:20:50.127 回答
0

函数 addSelectList 创建一个“下拉菜单”(实际上是一个选择元素)

您需要从函数输出中删除 html。

编辑 1 我对你要做什么感到困惑。在您的 foreach($option_list... 中,您需要知道 $option_list 数组中可用的键以及您希望在选择下拉列表中出现的键。

于 2013-07-23T23:04:19.987 回答
0

你做数组的回声。您的抽象对象有问题。您必须迭代数组以显示其值。

于 2013-07-23T22:52:20.847 回答