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