Mailinglisten-Archive |
> um jetzt die eigenschaften aus person wieder in klartext zu > uebersetzen muss ich > aus der tabelle eigenschaft die eigenschaften herausziehen wo > eigenschaft.id = 1 > und eigenschaft.id = 2... aber fuer jede eigenschaft eine > separate abfrage zu > machen ist nicht gerade sehr elegant, oder? > > also dachte ich, die werte der tabelle eigenschaft in ein > array zu schreiben, > im array nach den werten zu suchen die auch in > person.eigenschaft vorhanden > sind, um diese dann im klartext auszugeben. du kannst es auch mit weniger aufwand schaffen. --- html form --- <INPUT type="checkbox" name="check1" value="1"> <INPUT type="checkbox" name="check2" value="2"> <INPUT type="checkbox" name="check3" value="4"> <INPUT type="checkbox" name="check4" value="8"> <INPUT type="checkbox" name="check5" value="16"> beachte, die values bestehen aus 2er potenzen. im php3 machst du nun folgendes $checksum = $check1 + $check2 + ... + $check5; $checksum speicherst du nun in mysql in einem integer feld. wenn du es wieder ausliest, machst du folgendes: $d = mysql_fetch(...); // checkboxen, max summe = 31 (1 + 2 + 4 + 8 + 16) $schritt = 1; $i = 1; while($i<=31) { if($d->checkboxen & $i) // ja, diese checkbox war gesetzt! else // nein, diese checkbox war nicht gesetzt!! $i *= 2; $schritt++; } so kannst du (fast) beliebig viele checkbox values in einer integer abspeichern. anmerkung: diese technik basiert auf der binaeren darstellungsform der angegebenen values. /achim achim Gosse mailto:achim.gosse_(at)_nasa20.com n.a.s.a.2.0 gmbh http://www.nasa20.com borselhof borselstr. 16c 22765 hamburg speak.+49.40.39888288 fax.+49.40.39888299 registered linux user #122734
php::bar PHP Wiki - Listenarchive