AW: Variablen aneinanderhängen
von mir aus gerne: der ganze quelltext:
<?
$stufe1 = "Primär";
$stufe2 = "Sekundär";
$stufe3 = "Tertiär";
$userid = $_SESSION["userid"];
$position = $_GET["position"];
$sql = mysql_query("
SELECT building_id, level, COUNT(*) c
FROM constructed_buildings
WHERE position = '$position'
AND user_id = '$userid';", $conn);
$result = mysql_fetch_array($sql);
// upgrade
if ($result["c"] == 1)
{
$building_id = $result["building_id"];
$building_level = $result["level"];
$sql = mysql_query("
SELECT building_id, name, level
FROM building_details
JOIN building_names
USING (building_id)
WHERE building_id = '$building_id'
AND level > '$building_level';", $conn);
// loop through upgrade table
while ($result = mysql_fetch_array($sql))
{
$building_id = $result["building_id"];
$building_level = $result["level"];
$buildable = true;
$sql2 = mysql_query("
SELECT requirement_id, requirement_level
FROM building_requirements
WHERE building_id = '$building_id'
AND building_level = '$building_level';", $conn);
// loop through requirements table
while ($result2 = mysql_fetch_array($sql2))
{
$requirement_id = $result2["requirement_id"];
$requirement_level = $result2["requirement_level"];
$sql3 = mysql_query("
SELECT COUNT(*) c
FROM constructed_buildings
WHERE user_id = '$userid'
AND building_id = '$requirement_id'
AND level >= '$requirement_level';", $conn);
$anzahl = mysql_fetch_array($sql3);
// requirement not fulfilled
if ($anzahl["c"] == 0)
$buildable = false;
}
if ($buildable)
{
$stufe1 = "Primär";
$stufe2 = "Sekundär";
$stufe3 = "Tertiär";
$i = $result["level"];
$stufe = ${$stufe.$i};
echo "$i";
echo $result["name"] . ", Level " . $result["level"] . "<br/>";
}
}
}
// new
else
{
$sql = mysql_query("
SELECT building_id, name, level, building_names.unique
FROM building_details
JOIN building_names
USING (building_id);", $conn);
// loop through building table
while ($result = mysql_fetch_array($sql))
{
$building_id = $result["building_id"];
$building_level = $result["level"];
$sql2 = mysql_query("
SELECT COUNT(*) c
FROM constructed_buildings
WHERE building_id = '$building_id'
AND level > '$building_level'
AND user_id = '$userid';", $conn);
$result2 = mysql_fetch_array($sql2);
if (!$result["unique"] || ($result2["c"] == 0))
{
$buildable = true;
$sql2 = mysql_query("
SELECT requirement_id, requirement_level
FROM building_requirements
WHERE building_id = '$building_id'
AND building_level = '$building_level';", $conn);
// loop through requirements table
while ($result2 = mysql_fetch_array($sql2))
{
$requirement_id = $result2["requirement_id"];
$requirement_level = $result2["requirement_level"];
if ($requirement_id == $building_id)
{
// building is an upgrade if another
$buildable = false;
}
else
{
$sql3 = mysql_query("
SELECT COUNT(*) c
FROM constructed_buildings
WHERE user_id = '$userid'
AND building_id = '$requirement_id'
AND level >= '$requirement_level';", $conn);
$anzahl = mysql_fetch_array($sql3);
// requirement not fulfilled
if ($anzahl["c"] == 0)
$buildable = false;
}
}
if ($buildable)
{
//echo $result["name"] . ", Level " . $result["level"] . "<br/>";
echo $result["name"] . ", Level " . $result["level"] . "<br/>";
}
}
}
}
?>