Mailinglisten-Archive |
hi erik > ><input type="checkbox" value="Amex" name="check_kredit[]" <?if >($row["kreditkarten"] = Amex) print "checked";?>> > >Diese Checkbox habe ich für jede Kreditkarte angelegt. Aber wenn ich ein >'=' setze, bleibt die Box immer unmarkiert, wenn ich ein '==' setze ist >sie immer markiert. Unabhängig davon, was in dem String in der Datenbank >steht. also erstens würde ich deine db ein bisschen ummodeln: eine seperate tabellen creditcards mit allen karten, die möglich sind.. 1 | amex 2 | visa 3 | master dann in der anderen tabelle wird kreditkarten zu einem feld mit den id's von creditcards mit kommas getrennt (sicherer explode), id | cards 1 | 2,3 (= visa & master) fehler 1., bei strings immer ausführungszeichen machen beim vergleich: >($row["kreditkarten"] = Amex --->>($row["kreditkarten"] = "Amex" dann wär das so aber auch nicht richtig.. ich würd eben ne comma-seperated-list machen im field, dann explode(",",$row["kreditkarten"]); und dann mit den array-funktionen arbeiten, "ist wert in array?") if(in_array(2, $exploded) == true) { // ok, id 2 ist in array -> weiter } dann würd ich mal nen blick ins manual zu den vergleichsoperatoren werfen.. ein normaler vergleich ("gleich als") ist im allgemeinen "==".. also "ist $txt gleich hund?" = if($txt == "hund") { //ok.. } dies ist so, weil ein "=" eine zuweisung ist, kein vergleich ($txt = 5 weist du der variable $txt den wert 5 zu).. bye dn
php::bar PHP Wiki - Listenarchive