schnaps: Arrays vergleichen

Beitrag lesen

Hallo

if ($query = mysql_query("SELECT * FROM register;")) {
         while ($gebaeude = mysql_fetch_array($query)) {

$baracke_gebaut[] = $gebaeude['kraftwerk_gebaut'];

Willst du hier wirklich 2 mal 'kraftwerk_gebaut' abfragen?

$kraftwerk_gebaut[] = $gebaeude['kraftwerk_gebaut'];
            $ausbildungslager_gebaut[] = $gebaeude['ausbildungslager_gebaut'];
            $fuhrpark_gebaut = $gebaeude['fuhrpark_gebaut'];
            $hubschrauber_landeplatz_gebaut[] = $gebaeude['hubschrauber_landeplatz_gebaut'];

}
      } else die(mysql_error());
      ?>

Warum machst du hier PHP auf und zu?

<?php    echo "<tr>";

Du hast deine MySQL Abfrage oben in der Schleife in ein Array gepackt, wie du es ja auch auch wolltest. Nun sprichst du die Variable hier aber an wie eine Skalare Variable.
Array bestehen immer aus einem Schlüßel und einem Wert.

Um das erste Element zu bekommen des Arrays müsstest du es mit
$baracke_gebaut[0] ansprechen.

if($baracke_gebaut == 1){
      echo "<td style="text-align:center"><li>Baracke</li></td>";

echo "</tr>";
      echo "<tr>";
      }

Die Array Oben brauchst du nicht extra zu deklarieren, in dem Moment wo du sie in der Schleife benutzt werden sie als Array angelegt.

Ich würde es generell nicht so als Array anlegen. Du speicherst ja immer nur einen Wert in dem Array, da reicht eine normale Variable doch komplett aus. Oder du legst es als Assoziatives Array an;

while ($gebaeude = mysql_fetch_array($query)) {
    $gebaut['kraftwerk']= $gebaeude['kraftwerk_gebaut'];
    $gebaut['baracke']  = $gebaeude['baracke_gebaut'];
    $gebaut['ausbildungslager']= gebaeude['ausbildungslager_gebaut'];
    $gebaut['fuhrpark']= $gebaeude['fuhrpark_gebaut'];
$gebaut['hubschrauber_landeplatz']=$gebaeude['hubschrauber_landeplatz_gebaut'];
}

Danach kannst du die Array Einträge dann mit ihren Namen als Index
ansprechen.

z.B:
if($gebaut['kraftwerk']== 1){
     echo "<td style="text-align:center"><li>Baracke</li></td>";
     echo "</tr>";
     echo "<tr>";
}

Also dein Array heißt dann $gebaut[] und es hat die Schlüssel (kraftwerk,baracke,ausbildungslager,fuhrpark,hubschrauber_landeplatz) , die Werte sind dann entsprechend deiner Einträge in der DB entweder 0 oder 1.

Brauchst aber ncoh nicht mal die while Schleife, da du ja nur einen Wert Abfragst aus der DB.

Hoffe du kommst damit klar, und bitte nicht gleich drängeln wenn nicht sofort einer antwortet, ist ja schließlich alles hier auf freiwilliger Basis.

Prost
Schnaps