Checkbox aus SQL auslesen
starkoch
- php
Hallo,
wer kann mir einen Tipp geben:
Ich speichere die value-Werte in einer Datenbank.
<td><input type="checkbox" name="ucheck_5" value="liegt vor"> liegt vor</td>
Das klappt auch alles.
Jetzt will ich die Werte wieder auslesen und zwar so, daß die Checkbox einen Haken hat, wenn in der Datenbank "liegt vor" steht.
Bin für jede Hilfe dankbar.
Grüße
Starkoch
Hallo,
Jetzt will ich die Werte wieder auslesen und zwar so, daß die Checkbox einen Haken hat, wenn in der Datenbank "liegt vor" steht.
Du solltest die Datenbeschaffung, die Auswertung und die Darstellung immer voneinander trennen. Durch eine Abstraktion ist es später sehr viel leichter möglich, eine Datenquelle zu wechseln oder ein Frontend zu wechseln (z.B. von Browser auf Anzeigeprogramm in C++ oder VB)
Schreib Dir also eine Funktion, die aus dem passenden Datentypen die Checkbox als HTML-String erzeugt.
Eingaben sind:
Name der Checkbox
Value für angeklickt
Value für vorausgewählt (checked)
eventuell Klasse für die Darstellung
Label für die Scheckbox
...
Wie speicherst Du die Werte für die Checkbox in der DB? Steht da 0 oder 1 oder steht dort True oder False oder was steht in der DB?
LG
Chris©
Wie speicherst Du die Werte für die Checkbox in der DB? Steht da 0 oder 1 oder steht dort True oder False oder was steht in der DB?
In DB trage ich den value-Wert, also "liegt vor" ein.
Ich brauche also irgendetwas in der Form wenn ucheck_1 = "liegt vor" dann mache ... ja aber was? echo oder so geht ja bei Checkbox nicht.
Hallo Starkoch,
Wie speicherst Du die Werte für die Checkbox in der DB? Steht da 0 oder 1 oder steht dort True oder False oder was steht in der DB?
In DB trage ich den value-Wert, also "liegt vor" ein.
Ich brauche also irgendetwas in der Form wenn ucheck_1 = "liegt vor" dann mache ... ja aber was? echo oder so geht ja bei Checkbox nicht.
Du hast meinen Hinweis also scheinbar nicht verstanden.
Es gibt in der IT Datentypen, weil man eben mit jedem verschiedenen unterschiedliche Dinge anstellen kann und weil man Daten durch die Typisierung sauberer und einheilticher speichern kann. Der Datentyp einer Checkbox ist im ersten Augenschein BOOLEAN, also einer, der nur TRUE oder FALSE kennt.
Fasst man mehrere Checkboxen zu einer Gruppe zusammen, wird er bestenfalls INTEGER, aber keindesfalls STRING.
Enscheide Dich also, ob Du eine einzelne Checkbox oder eine Gruppe benutzen willst und speichere entsprechend allgemeingültig. Die Übersetzung in den Code, der für die Darstellung sorgt, kannst Du dann mit definierten und immer gleichen Eingangsparametern durchführen, deren Werte natürlich von Mal zu Mal unterschiedlich sein können.
- Hast Du schon Fuktionen in PHP erstellt?
- Hast Du schon längere HTML-Quelltexte in PHP erzeugt, ohne sie sofort auszugeben?
Die beiden Fragen sollten Dich also eigentlich auf den richtigen Weg führen.
LG
Chris©
Hi Chris©
Jetzt hab ich es raus. Wenn value = 1 dann verpasse ich der Checkbox über eine Variable "checked".
Richtig?
Jedenfalls gehts jetzt so.
Danke.
Hallo Starkoch,
Hi Chris©
Jetzt hab ich es raus. Wenn value = 1 dann verpasse ich der Checkbox über eine Variable "checked".
Richtig?
Das hört sich gut an.
Und wenn Du eine Funktion daraus gemacht hast, die den HTML-String für die Checkbox aufbaut (NICHT ausgibt), dann kannst Du die immer wieder verwenden.
LG
Chris©
Hi Starkoch,
du weisst wie man ein Checkbox-Input programmatorisch an- und abhakt?
Der Pseudocode für dich sieht in etwas so aus
wenn wertausdatenbank == "liegt vor" dann
schreibe <input type="checkbox" .... checked="checked" />
sonst
schreibe <input type="checkbox" .... checked="checked" />
in Ausgabe
Wie auch immer "liegt vor" in deiner Datenbank definiert ist (bit/boolean flag in einem Datensatz oder Existenz eines Datensatzes), das weisst momentan nur du?
Was fehlt dir nun noch um dein Vorhaben umsetzen zu können, PHP, SQL Kenntnisse?
Ciao, Frank