3 DB Zeilen , wenn 2 auf 0 stehen dann

Gray

Erfahrenes Mitglied
Hi,

Ich habe eine DB mit 3 Zeilen (r_on | k_on | b_on)
und wenn bei 2 der zeilen 0 als wert steht soll z.b: ok ausgegeben werden (kommt halt der code rein) aber wie kann ich das machen ohne 100 Verschachtelte Anfragen zu machen?
 
1.) Erstelle deine Abfrage
2.) Setze eine Zählervariable auf 0
3.) In einer While Schleife machst du 1 If Schleife
(Wenn Ergebnis 0 dann Zähler 1 rauf setzen)

Anhand der Zählervariable kannst du nun feststellen ob du "ok" ausgiebst oder nicht.

mfg

Ultra
 
Drei Zeilen oder drei Spalten?
Welche Werte können denn angenommen werden?
Sonst könntest du es ja auch mit ner Summenbildung machen, wenn enweder 0 oder 1 als Wert agenommen werden kann.
SELECT sum(`feld`) as summe FROM `tabelle`
und wenn summe nun grösser 1 ist gib ok aus ansonsten nicht ok.
 
so sieht die DB aus, gemeint sind

bankeinzug_on tinyint(2) Nein 1
kreditkarte_on tinyint(2) Nein 1
und
rechnung_on tinyint(2) Nein 1

und wenn mindestens 2 den wert 0 haben soll XYZ passieren.

Code:
Feld Typ Null Standard 
user_id   int(11)  Nein    
login   varchar(255)  Nein    
pw   varchar(255)  Nein    
datum   varchar(255) Nein    
uhrzeit   varchar(255) Nein    
verfolgung   varchar(255) Nein    
firma   varchar(255) Nein    
vorname   varchar(255) Nein    
name   varchar(255) Nein    
strasse   varchar(255) Nein    
plz   varchar(255) Nein    
ort   varchar(255) Nein    
land   varchar(255) Nein    
email   varchar(255) Nein    
tel_land   varchar(255) Nein    
tel_vorwahl   varchar(255) Nein    
tel_nummer   varchar(255) Nein    
fax_land   varchar(255) Nein    
fax_vorwahl   varchar(255) Nein    
fax_nummer   varchar(255) Nein    
kundennummer   varchar(20) Nein    
aktiv   varchar(255) Nein  aktiv  
zahlart   varchar(255) Nein    
bankeinzug_on   tinyint(2) Nein  1  
kreditkarte_on   tinyint(2) Nein  1  
rechnung_on   tinyint(2) Nein  1  
kontonummer   int(20) Nein  0  
blz   int(20) Nein  0  
kontoinhaber   varchar(255) Nein    
bank   varchar(255) Nein    
karteninhaber   varchar(255) Nein    
kartennummer   int(20) Nein  0  
pin   tinyint(3) Nein  0  
gueltigkeit   varchar(20) Nein
 
ja mach halt einfach
SELECT (spalte1+spalte2+spalte3) as ergebnis FROM `table`
und wenn ergebnis dann größer 1 ist dann haste das was du willst
 
Zurück