Arrays ausgeben, wenn Voraussetzung erfüllt

Godstyle

Erfahrenes Mitglied
Hallo leute,

ich habe eine DB abfrage die in array geschrieben wird.
Wenn ich das array nun ausgebe, sollen nur bestimmte Dinge ausgelesen werden.
zunächst das Funktionierende script:

PHP:
$sql = "SELECT * FROM town WHERE townid = '1'";
$result = mysql_query($sql) OR die(mysql_error()." => ".mysql_errno());

 while ($row = mysql_fetch_object($result)) {


$building = array(
			"Holz" => "$row->holz",
			"Lehm" => "$row->lehm",
			"Eisen" => "$row->eisen");

$anzahl = count ( $building );

echo "<table border='1'>";

foreach ($building as $build => $x )
{
    echo "<tr><td>$build </td><td>$x</td></tr>";
}
 }
echo "</table>";


in der DB befinden sich nur zahlen von -1 - 40 und als einziges das Wort max

wenn in der DB -1 eingetragen ist, dann soll nichts ausgegeben werden.
von 0 - 40 soll alles einfach angezeigt werden
und bei dem wort max wieder etwas anderes.

Kann ich das irgendwie in einem einzigen schritt machen oder muss ich das mit einer if abfrage alles einzeln abfragen?

lg
 
ich habe es nun so geändert:


PHP:
$sql = "SELECT * FROM town WHERE townid = '1'";
$result = mysql_query($sql) OR die(mysql_error()." => ".mysql_errno());

 while ($row = mysql_fetch_object($result)) {


$building = array(
			"Holz" => "$row->holz",
			"Lehm" => "$row->lehm",
			"Eisen" => "$row->eisen");

$anzahl = count ( $building );

echo "<table border='1'>";

foreach ($building as $build => $x )
if($x == "max") 
{
    echo "<tr><td>$build </td><td>Maximum</td></tr>";
}
if($x != "-1" AND $x != "max") 
{
    echo "<tr><td>$build </td><td>$x</td></tr>";
}

 }
echo "</table>";

er erkennt nun lediglich Eisen und das als max.
der eingetragene Wert in der DB leutet 10

in der 2ten if abfrage wollte ich die anzeige einschränken, indem ich alles mit dem Wert -1 und man ausschliese.

Wo ist hier mein Denkfehler?

lg
 
Zuletzt bearbeitet:
ich habe es nun selbst lösen können.


aber mir stellt sich eine andere frage:

ist es möglich eine include anweisung in einer echo auszuführen?

PHP:
echo "<tr><td>$build ($x) </td><td><?php include('ink/buildup.ink.php'); ?></td><td>$x</td></tr>";

so habe ich es im internet gefunden, nur klappt es nicht wirklich, da er es mir als text ausgibt.

lg
 
Hi

ja das ist möglich, allerdings so:
PHP:
//datei.php
$str = "Hallo Welt";
return $str;
PHP:
echo "<tr><td>".include("datei.php")."</td></tr>";
 
hi,

so konnte ich es nicht lösen, habe es nun so gelöst:

PHP:
echo "<tr><td>$build ($x) </td><td>";include('ink/building.ink.php');echo "</td><td>$x</td></tr>";

denoch vielen dank.

lg
 
Zurück