Sortierfeld soll Checkbox aktivieren?

Thomas_Jung

Erfahrenes Mitglied
Hallo
Kann mir jemand bei meinem Code helfen.
Wenn der Inhalt der checkbox in der Variable $SortField vorkommt soll die checkbox aktiviert werden.
Wie muß ich den folgenden Code ändern.


PHP:
<?php $SortField = 'Name, Adresse, Ort'; ?>

  <td width=50><input type="checkbox" name="SortField[]" value="Ort"
  <?php
 	$arrfilter = split(",", $SortField);
 	foreach ($arrfilter as $tmpfilter) { if ($tmpfilter == $SortField){  $checked = "checked"; }
	}  echo $checked; ?>>
    </td>


Gruß Thomas
 
Hullo,
ich geh mal davon aus das Du ein "checked" haben willst wenn ein Eintrag im Array $SortField[] entweder "Ort" oder "Adresse" oder "Name" ist.

Ich bin mit sicherheit kein spezialist, was auch am Code zu sehen sein wird :)
Wenn ich das so haben möchte, würde ich es so schreiben:

Code:
$counter = count($SortField);
for ($x=0; $x <= $counter-1; $x++) {
					if ($SortField[$x] == "Name" || $SortField[$x] == "Adresse" || $SortField[$x] == "Ort") $checked = "checked";
}

Die Checkbox:

Code:
<input type="checkbox" name="SortField[]" value="Adresse" <?echo($checked);?>>

Der PHP Code steht vor dem HTML Code.
Es funktionier, so steinzeitmäßig es auch geschrieben ist :D

Grüße,
Lichtpilger
 
Zuletzt bearbeitet:
Hallo Sven Mintel Tschuldigung für meine undeutlische ausdrucksweiße.

Hallo Lichtpilger das war es was ich suchte.

;)

Grüße Thomas
 
Ginge eleganter mit foreach, außerdem ist es besser wenn man Variablen, die ev. auch leer sein können, trotzdem schon vorher definiert. Denn es könnte sein, dass der Webserver Notices aktiviert hat, und dann wird eine hässliche Fehlermeldung ausgegeben (korrigiert mich wenn ich falsch liege). Darum mach so:

PHP:
$checked="";
foreach($SortField as $SortField_v){
    if($SortField_v=="Name" || $SortField_v=="Adresse" || $SortField_v=="Ort"){
        $checked="checked";
    }
}
 
Zurück