CCK Checkbox - Leeren Wert in Datenbank speichern

am 29.04.2010 - 17:26 Uhr in
Hab hier ein kleines Problem mit den Werten die von einer Checkbox in der Datenbank gespeichert werden.
Ich möchte nämlich, wenn bei der Checkbox kein Häkchen gemacht wird, auch kein Wert in der Datenbank gespeichert wird. Es soll also in der Datenbank "Null" (kein Inhalt) stehen.
Wenn ich per CCK eine Checkbox anlege, muss ich aber zuerst für den deaktivierten Zustand einen Wert angeben (in der zulässigen Werteliste)
Habs schon mit "", Leerzeile und auch NULL probiert. Hat aber alles nichts gebracht.
Ich hoffe ihr könnt mir weiterhelfen
- Anmelden oder Registrieren um Kommentare zu schreiben
Das Problem war, dass ich in
am 29.04.2010 - 18:51 Uhr
Das Problem war, dass ich in einer bestehenden Datenbank bei einem Node diese Checkbox eingefügt habe. Per Views wurden diese Nodes nach dieser Checkbox und Node Title sortiert. Jetzt wurde allerdings wenn ein Node bearbeitet wurde, die Reihenfolge völlig durcheinander gebracht, da es jetzt einen zusätzlicher Wert gab.
Tabelleneintrag unbearbeiteter Node: DB Wert: NULL
Tabelleneintrag bearbeiteter Node Checkbox aus: DB Wert: nein
Tabelleneintrag bearbeiteter Node Checkbox ein: DB Wert: ja
Ich hab jetzt einfach die Einträge in der Datenbank per SQL upgedatet.
Hatte vorher keine Ahnung von SQL - aber falls jemand mal ein ähnliches Problem haben sollte, einfach phpMyAdmin öffnen, und folgenden Code bei SQL eintragen
UPDATE 'Tabellenname' SET 'Spaltenname' = 'nein' WHERE 'Spaltenname' IS NULL
Den Tabellen und Spaltennamen findet ihr in der Datenbank.
Es würde mich aber trotzdem noch interessieren, wie man einen Leeren Datenbankeintrag bei einer Checkbox machen kann, und ob das überhaupt geht.
leerer Wert
am 29.04.2010 - 22:24 Uhr
Es würde mich aber trotzdem noch interessieren, wie man einen Leeren Datenbankeintrag bei einer Checkbox machen kann, und ob das überhaupt geht.
Viel interessanter finde ich die Antwort auf die folgende Frage: "Wozu möchte man dies tun?".
Das macht nämlich eigentlich überhaupt keinen Sinn und bringt auch keinen Mehrwert bei der Auswertung von Daten.
Stefan
Es geht mir nur darum, dass
am 03.05.2010 - 12:34 Uhr
Es geht mir nur darum, dass wenn ich bei einem Inhaltstypen eine Checkbox nachträglich hinzufüge, und per Views meine Ausgabe sortieren lasse, diese nicht durcheinander gewürfelt wird, wegen inkonsistenter Datensätze
Nehmen wir mal an, ich habe eine Liste von Artikeln, die ich per Views alphapetisch sortieren lasse:
Sortierkriterium: Node Title (aufsteigend)
Ergebnis:
1. Artikel
2. Artikel
3. Artikel
4. Artikel
5. Artikel
Jetzt finde ich, dass Artikel 2 und 4 die Wichtigsten sind (Top-Artikel), und diese möchte ich am Anfang der Seite ausgeben. So, jetzt füge ich in diesen Inhaltstyp "eine" Checkbox (Top-Artikel) ein mit den Werten:
Inaktiv: unwichtig
Aktiv: wichtig
... und erstelle ein weiters Sortierkriterium in Views:
1. Sortierkriterium: Checkbox Top-Artikel (absteigend)
2. Sortierkriterium: Node Titel (aufsteigend)
wenn ich jetzt Artikel 2 und 4 bearbeite, und die Checkbox aktiviere, passt alles auf den ersten Blick
Ergebnis:
2. Artikel (Checkboxwert: wichtig)
4. Artikel (Checkboxwert: wichtig)
1. Artikel (Checkboxwert: NULL) (leerer Wert)
3. Artikel (Checkboxwert: NULL) (leerer Wert)
5. Artikel (Checkboxwert: NULL) (leerer Wert)
So, und jetzt zum eigentlichen Problem - wenn ich jetzt Artikel 3 und 5 bearbeite, die Checkbox aber nicht aktiviere, und neu abspeichere, dann ändert sich die Reihenfolge zu:
2. Artikel (Checkboxwert: wichtig)
4. Artikel (Checkboxwert: wichtig)
3. Artikel (Checkboxwert: unwichtig)
5. Artikel (Checkboxwert: unwichtig)
1. Artikel (Checkboxwert: NULL) (leerer Wert)
Jetzt sind also 3 verschiedene Werte für eine Checkbox in der Datenbank vorhanden und die Reihenfolge der Ausgabe passt nicht mehr. Aus diesem Grund würde es mich interessieren, wie man einer Checkbox einen leeren Wert zuweisen kann (wenn sie inaktiv ist),um den Workaround mit dem SQL Befehl in phpMyAdmin zu vermeiden.