我想创建2个下拉菜单。一个用于显示建筑物列表,然后当用户从列表中选择建筑物时,它将显示该建筑物中的房间列表。我在php中得到一个未定义的错误
问题是我在我的代码中有错误。下面是代码:
$sql="SELECT Building, Room FROM Room WHERE Building = '".$building."'";
$sqlresult = mysql_query($sql);
$sqldataArray = array();
while($sqlrow = mysql_fetch_array($sqlresult))
{
$sqldataArray[$sqlrow['Building']];
$sqldataArray[$sqlrow['Building']]['Rooms'][$sqlrow['Room']];
}
$buildingHTML = "";
$buildingHTML .= '<select name="buildings" id="buildingssDrop">'.PHP_EOL;
$buildingHTML .= '<option value="">Please Select</option>'.PHP_EOL;
foreach ($sqldataArray as $building => $buildingData) {
$buildingHTML .= "<option value='".$building."'>" . $building . "</option>".PHP_EOL;
}
$buildingHTML .= '</select>';
$roomHTML = "";
$roomHTML .= '<select name="rooms" id="roomsDrop">'.PHP_EOL;
$roomHTML .= '<option value="">Please Select</option>'.PHP_EOL;
foreach ($buildingData['Rooms'] as $roomId => $roomData) {
$roomHTML .= "<option value='".$roomId."'>" . $roomId . "</option>".PHP_EOL;
}
$roomHTML .= '</select>';
我得到的错误是这样的:
未定义的变量:buildingData在/web/stud/u0867587/Mobile_app/create_session.php线372
这是代码行的错误是:
$buildingHTML .= "<option value='".$building"'>" . $building . "</option>".PHP_EOL;
有谁知道如何解决这个错误。我相信这是因为它不在其他foreach循环中,但是如果我将它放入,那么是否会影响下拉菜单的显示?
你确定这是正确的吗?我没有在该行中看到任何'$ buildingData'。 – entropid 2012-01-26 22:54:18
你对数组中的'Rooms'元素有正面评价吗? print_r($ buildingData)来检查它的内容。 – Alfabravo 2012-01-26 22:54:33
错误发生在下一个foreach行,他试图访问声明之前的foreach范围之外的'$ buildingData'。 – Tim 2012-01-26 22:58:16