Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Zeilenfarbe von einer MSSQL DB ausgeben

Frage Entwicklung PHP

Mitglied: helmuthelmut2000

helmuthelmut2000 (Level 2) - Jetzt verbinden

01.11.2011 um 10:46 Uhr, 3589 Aufrufe, 7 Kommentare

Hallo,

Ich habe eine Frage zu meiner PHP-Seite.

Dort habe ich eine Tabelle wo ich mit Daten aus einer MSSQL DB ausgebe.
Da wechsle ich die Zeilenfarbe so:

$farbe[]="#FFFFFF"; Hintergrundfarbe 1
$farbe[]="#EEEEEE";
Hintergrundfarbe 2

Jetzt möchte ich aber bestimmte Zeilen mit bestimmten Farben ausgeben. Ich denke das ich die bestimmte
Farbe in der DB in einem Feld Speichere. Mit dem Namen Farbe. Wenn dann in dem Feld der Wert #FF0000
drin ist dann Sollte die Zeile in Rot erscheinen. Die anderen, die Keinen Wert in der DB haben sollten den
wechsel Hintergrund1 und Hintergrund2 machen.
Den Wert der Farbe in die DB speichern das ist mir Klar.

Aber wie mach ich das, das der Farbenwert aus der DB genommen wird und wenn keiner drin ist dann sollte der
Wechsel Hintergrund1 und 2 kommen?

Danke
Mitglied: nxclass
01.11.2011 um 10:56 Uhr
Wenn Du die Tabellen zB. mit LEFT JOIN verbindest, wird dir doch entweder der Farbwert oder NULL zurückgeliefert !? .. dann kannst du doch dein Ergebnisfeld mit isset() prüfen.
Bitte warten ..
Mitglied: helmuthelmut2000
03.11.2011 um 10:23 Uhr
Hallo,

Kannst du mir das mit dem LEFT JOIN etwas besser erklären?
Wie mach ich das denn Richtig?

Danke
Bitte warten ..
Mitglied: nxclass
03.11.2011 um 11:03 Uhr
Dazu benötige ich mehr Informationen wie deine Tabellen in der Datenbank aufgebaut sind.
Speziell wie Du die Information ablegst welche für die besondere Farbe verantwortlich ist. Evtl. reicht da auch ein zusätzliches Feld 'mark' mit den Werter 0 oder 1.
Momentan kann ich nur in die Glaskugel schauen.

LEFT JOIN
zB: FROM A LEFT JOIN B:
alle Werte aus A - und - alle Werte aus B oder NULL
Bitte warten ..
Mitglied: helmuthelmut2000
03.11.2011 um 13:40 Uhr
Hallo,

Ich hab in der Tabelle nur ein paar Spalten:

schluessel (PS, int, Nicht NULL)
kunde (nvarchar(255), NULL)
auftrag (nvarchar(255), NULL)
usw

Jetzt würde ich eine Spalte dazumachen

mark (nvarchar(255), NULL)
Dort ist dann bei keiner Frabe die NULL drin.
Dann sollte der wechsel kommen.
Und wenn ich die Farbe drin hab z.B. #FF0000
dann sollte die Zeile rot sein.
Bitte warten ..
Mitglied: nxclass
03.11.2011 um 14:34 Uhr
Dann sollte der wechsel kommen.
die Farbdarstellung ist eine Sache der Darstellung, finde ich, und sollte somit in CSS und HTML erledigt werden.

somit machst du einfach einen Farbwechsel und prüfst auf den Wert in 'mark'
01.
$data = meineMssqlQueryFuntion( 'SELECT * FROM [tabelle]' ); 
02.
foreach ($data as $i=>$row) { 
03.
 
04.
  $trCss = isset($row['mark']) ? $row['mark'] : ( ($i%2==0)? 'grau' : 'weis' );  // CSS Klasse oder ein Farbwert für die <TR> aus der Datenbank oder abwechselnd  
05.
 
06.
  // Aufbau der Tabellen Zeile 
07.
 
08.
}
.. so in etwa könnte man das machen.
Bitte warten ..
Mitglied: helmuthelmut2000
03.11.2011 um 20:45 Uhr
Hallo,

Bei deinem code muß der Farbwechsel in der CSS stehen.
Bei mir steht der am Anfang von der Tabelle, geht das dann auch?
Bitte warten ..
Mitglied: nxclass
04.11.2011 um 08:13 Uhr
geht das dann auch?
... ob Du nun mit Farbwerten oder CSS Klassen arbeitest ist ganz Dir überlassen. Aber ich finde man sollte den Code sauber halten und dazu gehört auch das trennen von CSS, HTML, JS und PHP.


... ich glaube in CSS3 gibt es eine einfache Möglichkeit so einen Farbwechsel umzusetzen
01.
tr:nth-child(odd)		{ background-color:#eee; } 
02.
tr:nth-child(even)		{ background-color:#fff; }
... ansonsten finde ich es nicht schlimm in jeder TR ein 'class' Attribute einzufügen.
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Apache Server
gelöst Fehler beim Import einer DB vom anderen MySQL-Server (2)

Frage von zeroblue2005 zum Thema Apache Server ...

Windows Server
MSSQL Hotfix in Spiegelumgebung

Frage von petere zum Thema Windows Server ...

Datenbanken
gelöst Frage zu Datenbanklayout (MSSql) (9)

Frage von theoberlin zum Thema Datenbanken ...

Heiß diskutierte Inhalte
Hardware
Laptop ins Salzwasser gefallen (18)

Frage von Marcel94 zum Thema Hardware ...

Switche und Hubs
LAG zwischen Cisco SG300 und Dlink DGS1100 herstellen - wie? (13)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

Hardware
Lenovo Yoga 500 über angeschlossene USB Tastatur booten (13)

Frage von thomasreischer zum Thema Hardware ...

CPU, RAM, Mainboards
Hardware Fragen (12)

Frage von xaver-2 zum Thema CPU, RAM, Mainboards ...