我有一个下拉框,它只显示数据库中的最后一条记录,我的表中有多条记录。我希望它能显示所有的记录。脚本在一个函数中。
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;
}
试一下
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>
标签放在while之外,并留下
'<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;
}