繁体   English   中英

选择框仅显示下拉列表中的最后一条记录

[英]Select box only showing last record in drop down in php

我有一个下拉框,它仅显示数据库中的最后一条记录,我的表中有多个记录,我希望它显示所有记录。 该脚本在函数中。

function appear(){
include('includes/x.php');
include('includes/y.php');
 global $database;
 $database = new MySQLDatabase();
 $sql="SELECT * FROM tbltype";
 $result_set=$database->query($sql);
    while($row=$database->fetch_array($result_set)){
                        $type=$row['type'];                         

$place= "Please enter type: "." ".'<select name="type" id="type"><option value="-1">Select a province</option><option value="none">None</option>'.'<option value='.$type.'>'.$type.'</option>'.'<br></select>'."<input type=\"submit\" name=\"Add\" value=\"Add\" style=\"border:dotted;\"/>";}   
return $place;
}

您将覆盖$place上所有检索到的行。 您应该将新读取的行与先前的行合并。 使用$X .=

这样尝试

while($row=$database->fetch_array($result_set)){
                    $type=$row['type'];
                    $option .="<option value='".$type."'>".$type."</option>";
}
$place= "Please enter type: "." ".'
<select name="type" id="type">
   <option value="-1">Select a province</option>
   <option value="none">None</option>'.
   $option.'</select>';

从我的代码中可以发现,问题是您的下拉声明位于while函数中,您应该做的是声明您的

<select> 

在您的时间之外进行标记,然后离开

'<option value='.$type.'>'.$type.'</option>' 

阻塞你的内心并关闭你的

 </select> 

在while函数之外,这样它将为您的下拉列表填充正确的值。

您的连接不正确。 尝试这个,

$place = 'Please enter type: <select name="type" id="type"><option value="-1">Select a province</option><option value="none">None</option>';

while($row=$database->fetch_array($result_set)){
       $type=$row['type'];                         

       $place .= "<option value='".$type."'>".$type."</option>";
 }   
 $place .= "<br></select><input type=\"submit\" name=\"Add\" value=\"Add\" style=\"border:dotted;\"/>";

return $place;
function appear() {
        include('includes/x.php');
        include('includes/y.php');
        global $database;
        $database = new MySQLDatabase();
        $sql = "SELECT * FROM tbltype";
        $result_set = $database->query($sql);
        $place = "";
        $place.= 'Please enter type:<select name="type" id="type"><option value="-1">Select a province</option>';
        while ($row = $database->fetch_array($result_set)) {
            $type = $row['type'];
            $place.='<option value="none">None</option>' . '<option value=' . $type . '>' . $type . '</option>';
        }
        $place.='</select><input type=\"submit\" name=\"Add\" value=\"Add\" style=\"border:dotted;\"/>';
        return $place;
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM