global $mysqli;
$building = $position['buildingID'];
if($level == 'room') {
// Get building size
$buildingQuery = "SELECT * FROM buildings WHERE buildingID = '$building'";
$buildingArea = $mysqli->query($buildingQuery) or die(mysqli_error($mysqli));
$Area = $buildingArea->fetch_array(MYSQLI_ASSOC);
$AreaX = $Area['areaX'];
$AreaY = $Area['areaY'];
$sql = "SELECT * FROM rooms WHERE buildingID = '$building'";
$result = $mysqli->query($sql) or die(mysqli_error($mysqli));
$rooms = $result->fetch_array(MYSQLI_ASSOC);
for($y = 0; $y <= $AreaY; $y++){
for($x = 0; $x <= $AreaX; $x++) {
//See if room exists for coordinates
if(($rooms['position_x'] == $x) && ($rooms['position_y'] == $y)
&& ($position['room_x'] == $x) && ($position['room_y'] == $y)) {
echo '<img src="../../resources/images/inroom.php" id="'.$x.'_'.$y.'" />';
echo ' ';
} else if (($rooms['position_x'] == $x) && ($rooms['position_y'] == $y)) {
echo '<img src="../../resources/images/inroom.php" id="'.$x.'_'.$y.'" />';
echo ' ';
} else {
echo "(".$x.","." ".$y.")";
if ($x == $AreaX) {
echo '<br />';
}
}
}
}
}
}
В основном проблема заключается в том, что у меня есть сетка, мне нужно отобразить результирующий набор, где координата X и Y, выровнять по базе данных, но я действительно не понимаю, как увеличить строки, которые я извлекаю, любые советы?PHP приращение через набор данных
EDIT: Код обновления
Я действительно знаю, что в настоящее время он заканчивается бесконечным циклом. –
Почему вы получаете информацию о своей комнате внутри циклов for? Возможно, это изменится? Почему бы не сделать это за пределами петель? Также вы должны просмотреть условие while. Если я правильно понимаю вашу проблему, есть множество комнат, и вам нужно найти те комнаты, которые имеют одинаковые позиции x и y, не так ли? – Dan
Можно изменить, и каждое здание имеет другую схему, и вы правы, да, цикл while сломан, но я не уверен, как/почему. –