Jedes Objekt eines Arrays einzeln überprüfen

Hallo,

ich habe ein Problem mit einem Code der DB-Einträge auf den Inhalt der Spalte „status“ überprüfen soll. Dies soll für jeden Eintrag separat geschehen.

Mal der Code:

$query = mysql\_query("SELECT \* FROM popups");
while($result = mysql\_fetch\_assoc($query))
{
$resultb[] = $result;
$resultc[] = $result;
$status1 = array($result['status']);
}
foreach($status1 as $status =\> $a)
{
if($status == "true")
{
$check = "checked='checked'";
}
if($status == "false")
{
$check = "";
}
}

//resultb[] und resultc[] sind für etwas anderes…

Habe schon diverses versuch. Mit foreach, ohne foreach, ohne das array()…
Allerdings besteht immer das gleiche Problem: Die zweite IF-Bedingung wird ausgeführt. Lasse ich diesen Bedingung weg, wird die erste ausgeführt - allerdings immer für jedes Objekt im Array.
Da liegt das Problem. Ich möchte, dass bei jedem Eintrag überprüft wird, ob er true oder false als Inhalt hat, nicht ob einer einen solchen Inhalt hat. Es geht nacher darum, einzelne Checkboxen anzuhaken oder eben auch nicht.
Sicherlich habe ich einen Denkfehler.
Wie könnte ich denn so etwas bewerkstelligen?

Danke im Voraus!

Hallo,

$status1 = array($result[‚status‘]);

Damit überschreibst du $status1 immer mit einem 1-elemtigen Array, d.h. nach der Schleife hast du da genau ein Element mit dem letzten Wert drin.

$status1[] = $result[‚status‘];

Aber da hast du nur die Statuswerte im Array, das bringt dir nicht wirklich etwas, das kannst du später nicht mehr ohne weiteres zuordnen.
Warum speicherst du das nicht im $result mit ab und hängst dann alle Results zusammen ?

$result['check'] = ($result['status']=='true')?"checked='checked'":"";

$results[] = $result;

Dann kannst du später mit foreach($results as $result) { echo $result[‚check‘]; } das ausgeben.

}
foreach($status1 as $status => $a)
{
if($status == „true“)

Da setzt du dann auch nur ein $check, nicht für jedes Element. Und wenn, dann müsstest du $a prüfen, $status ist immer 0, da oben in der Array-Definition nicht zugewiesen.

Alex

Guten Tag,

Danke für die Antwort!
Habe das mittlerweile aber ganz anders gemacht, und zwar mit Radioboxen und einem Select für die jeweilige Option (aktivieren, deaktivieren, bearbeiten, löschen). Dann noch eine Bestätigung bei onclick. Ist einfach viel komfortabler. Falls ich aber nochmals auf das Problem stoße, komme ich auf dich zurück.
Danke für die Mühe!

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]