MySql oder PHP bin nicht sicher wo das Thema besser rein passt
Peter
- datenbank
0 bleicher0 Steel
0 Sven Rautenberg
Hallo,
habe folgendes Problem: Nach einer Datenbankabfrage (MySql) erhalte ich eine Ausgabe in einer Tabelle (ja, es sind diesmal tabellarische Daten , und nein, das ist noch nicht das Problem ;-) ).
Wenn ich nun auf ein Feld der Tabelle klicke (werden mit Links unterlegt sein) möchte ich, dass alle zu dem Feld gehörende relevanten Daten gehighlighted werden (die Zugehörigkeiten der Daten sind via Zwischentabellen in der Datenbank gespeichert): und zwar einmal mit verschiedenen Schrifttypen und je nach Thematik mit verschiedenen background Farben. Gleichzeitig sollen alle anderen Daten zwar noch angezeigt werden aber eher schwach dargestellt.
Die entsprechenden Styles zu erstellen ist kein Problem. Ich frage mich nur ob es besser ist die Styles in die Datenbank zu schreiben, bzw. wie ich dann sowohl selected (für die relevanten Daten) und unselected (für den Rest) vernünftig auswählen kann und mir trotzdem noch alle Daten angezeigt werden.
Kann man das via MySql und PHP lösen oder muß man da doch auf Javascript o.ä. zurückgreifen?
Da ich gerade die Datenbank plane wäre es klasse, wenn ihr mir da weiterhelfen und mich auf den richtigen Weg schubsen könntet. Habe gerade ein Brett vorm Kopf (mmh vielleicht sollte ich die Holzhandlung verlassen und mich wieder an den Rechner setzen).
Danke und Grüße,
Peter
Grüße,
Kann man das via MySql und PHP lösen oder muß man da doch auf Javascript o.ä. zurückgreifen?
wenn du deine idee etwas genauer beschreibst, kann man genaueres sagen - ich würde aber "beides" sagen - denn ausgabe beim user ist mit JS bequemer, datenabfrage musst du aber so oder so am server durchführen.
ginge uU sogar ohn JS - da müsstest du halt komplette seite mit highlights generieren.
und was styles angeht - imho gehören die in eine css datei - nicht in datenbank
MFG
bleicher
Hi!
und was styles angeht - imho gehören die in eine css datei - nicht in datenbank
In die Datenbank von wo sie zum ausliefern einer CSS Datei benutzt werden.
Moin!
Wenn ich nun auf ein Feld der Tabelle klicke (werden mit Links unterlegt sein) möchte ich, dass alle zu dem Feld gehörende relevanten Daten gehighlighted werden (die Zugehörigkeiten der Daten sind via Zwischentabellen in der Datenbank gespeichert): und zwar einmal mit verschiedenen Schrifttypen und je nach Thematik mit verschiedenen background Farben. Gleichzeitig sollen alle anderen Daten zwar noch angezeigt werden aber eher schwach dargestellt.
Diese Aufgabenstellung ist erstmal ein reines Anzeigeproblem. Es hat deshalb primär nur mit HTML, CSS und Javascript zu tun, nicht jedoch mit der Datenbank oder PHP.
Insofern ist deine Einordnung in diese Themengebiete eher falsch. Wobei du natürlich immer eine relativ einfache Javascript-Operation (vor allem mit einem JS-Framework wie z.B. jQuery) ersetzen kannst durch das komplette Neuladen der HTML-Seite, nur mit neuen Parametern. Und sich so die Anzeigeproblematik hin zu PHP verlagert.
Wenn du das schlecht machst, muss dein User unverhältnismäßig lange warten, und du selbst hast hohen Aufwand, das in PHP zu programmieren. Wenn du es gut machst, ist deine PHP-Lösung bestens geeignet, als Fallback für den Fall abgeschalteten Javascripts zu dienen, andernfalls wird die auf identischem HTML mit identischem CSS arbeitende Javascript-Lösung genommen.
Was genau du aber nun tun willst, hast du noch nicht genau genug beschrieben. Im Moment stelle ich mir vor, dass du einfach die entsprechende Tabellenzeile, die gewählt wird, irgendwie anders formatiert werden soll.
Das ist mit Javascript und CSS relativ simpel machbar. Von der TD, in die geklickt wird, gehst du im DOM eine Ebene hoch zum einschließenden TR, und setzt dort eine zusätzliche Klasse rein. In deinem CSS hast du für diesen TR-Zustand vorher einfach die gewünschte Formatierung definiert. Fertig ist die Hervorhebung.
Die entsprechenden Styles zu erstellen ist kein Problem. Ich frage mich nur ob es besser ist die Styles in die Datenbank zu schreiben, bzw. wie ich dann sowohl selected (für die relevanten Daten) und unselected (für den Rest) vernünftig auswählen kann und mir trotzdem noch alle Daten angezeigt werden.
Die Frage ist, was mit "selektiert" funktionsmäßig noch verbunden sein soll. Wenn du zu einem Datenbankeintrag die Info speichern willst "Du bist selektiert, oder nicht", dann wäre das als simples Binärfeld zu realisieren - für MySQL beispielsweise durch CHAR(1) mit den Zeichen "0" und "1".
Diese Selektierung muss dann aber für irgendwelche Prozesse eine Wichtigkeit haben. Also so wichtig sein, dass sie dauerhaft gespeichert werden muss. Nur für die Anzeige als Benutzerinteraktion ist sowas nicht zwingend notwendig.
- Sven Rautenberg