Etwas Grundsätzliches... Daten aus Datenbank ...
#1
geschrieben 15. September 2005 - 10:43
irgendwie finde ich keine Lösung oder ich steh nur auf dem Schlauch.
In jeder Programmiersprache, sei es C oder Java oder einfach nur PHP, überall muss ich, wenn ich auf eine Datenbank zugreifen will, SQL-Befehle in Textform schreiben und die losrennen lassen.
Jetzt ist es so, dass ich mit PHP ein Formular hab, sagen wir eine Liste, die immer unterschiedlich, je nach Datenbankabfrage mit Werten gefüllt wird.
Ich hab also für jede Liste eine eigene PHP-Datei. Die sieht immer gleich aus, bekommt nur immer einen anderen SQL-Befehl drübergestülpt.
Und genau das find ich etwas stressig: Die Liste ist genormt, aber die SQL Befehle nicht, weswegen ich massig Daten hab.
Was gibts denn da noch für Ansätze? Ich will im Endeffekt eine einzige PHP-Datei haben und ich klick auf der Oberfläche nur noch die Daten an, die erscheinen sollen. Jetzt könnt ich natürlich hergehen und alle SQL's in eine Datei schreiben und mit if's auswerten, aber das wird glaub ich etwas zu unübersichtlich und da kann ich gleich meine einzeldateien behalten. Wie dynamisiert man sowas?
Anzeige
#2
geschrieben 15. September 2005 - 14:01
function my_query($condition)
{
return @mysql_query("SELECT * FROM tabelle WHERE spalte = '$condition'");
}
Nun kannst du mit my_query($_GET['typ'); z.B. die Abfrage beeinflussen, indem du den Typ an die Datei anhängst.
Du solltest die Funktion allerdings noch sinnvoll erweitern, z.B. indem du das Ergebnis in einen Array speicherst usw. (das war jetzt nur das Grundprinzip).
Habe ich jetzt nicht getestet, aber so müsste es einfach gehen
Dieser Beitrag wurde von Slayer bearbeitet: 15. September 2005 - 14:02
Erstens durch Nachdenken: Das ist der Edelste.
Zweitens durch Nachahmen: Das ist der Leichteste.
Drittens durch Erfahrung: Das ist der Bitterste.
(Konfuzius)
#3
geschrieben 20. September 2005 - 06:39
Aber was machst du, wenn sich die Tabelle ändert und somit auch die Spalten?
Damit verlagere ich doch nur den SQL-Befehl auf eine Funktion (mal abgesehen davon, hab ich das eh schon implementiert). Im Endeffekt muss ich im vornherein wieder wissen A) Welche Tabelle, B) Welche Spalte und C) Welchen Wert ich abfragen will.
Und zu guter letzt muss ich immer das Rückgabearray auswerten, weshalb ich dann doch lieber gleich eine ganze Klasse drumherum schreib.
#4
geschrieben 20. September 2005 - 13:47
Erstens durch Nachdenken: Das ist der Edelste.
Zweitens durch Nachahmen: Das ist der Leichteste.
Drittens durch Erfahrung: Das ist der Bitterste.
(Konfuzius)
#5
geschrieben 22. September 2005 - 08:26
Die Frage ist halt, geht es grundsätzlich, dass ich eine Routine schreiben kann, die für mich Daten ausliest, ohne dass ich die großartig mit Daten füttere? Eigentlich eine Funktion, die wie von Zauberhand die Daten herbekommt.
Vielleicht bin ich aber auch zu Naiv...
#6
geschrieben 22. September 2005 - 15:41
Zitat (sladaloose: 22.09.2005, 09:26)
Aber logisch. Ein paar mal rand() und schwups hat man jede Menge Daten aus der Luft gegriffen. Naja, ich behaupte mal dass ich dich nicht verstanden habe
#7
geschrieben 22. September 2005 - 16:17
Du möchtest ohne angabe einer Tabelle usw, bestimmte daten auslesen, und das wird nicht funktionieren
#8 _Benjamin_
geschrieben 22. September 2005 - 16:57
dein vorhaben beginnt schon vollkommen falsch mit der aussage "Aber was machst du, wenn sich die Tabelle ändert und somit auch die Spalten?" lege dir ein ERM zu ... danach setzt du deine tabelle nochmal einer normalisierung [fall 1-3] hindurch und die kardinalitäten nicht vergessen.
ist das gegeben, musst du keine tabelle, spallte oder der gleichen ändern ... darin besteht dein denkproblem, nicht in einer lösung in einem flexiblen script, was nicht umsetzbar ist. denn dazu müsste dein script denken können ... und dazu sind dir zu sehr die hände gebunden ...
#9
geschrieben 24. September 2005 - 09:49
Momentan ist es so, dass ich für jede Tabelle ein eigenes Script habe, das auf die gleiche Weise funktioniert. Ist jetzt nur doof, wenn ich ständig diese ca. 30 Scripts anpassen muss, wenn die Ausgabe irgendwie anders aussehen soll etc. Ich will harmonisieren und standardisieren, etc.
Ich hab da schon eine Idee die ganzen Parameter in eine XML-Datei zu verlagern, nur schaff ich damit das Problem nicht grundsätzlich aus der Welt.
Meiner Ansicht nach sind Datenbanken viel zu dumm. Am liebsten würde ich dort noch ein paar Regeln hinterlegen, sprich Intelligenz für Tabellen...
#10 _Benjamin_
geschrieben 24. September 2005 - 10:00

Hilfe
Neues Thema
Antworten
Nach oben



