php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Mehr PHP oder SQL Vergleiche/Abfragen


 
Sebi85
23-01-2007, 11:25 
 
Ist es besser alle Felder von einer Datenbank auszulesen und im kompletten Code dann auf die verschiedenen Elemente zugreifen?

Oder ist es besser, wenn mehrere SQL Abfragen mache, je nach dem was an dieser Stelle im Code gebraucht wird?

 
Kropff
23-01-2007, 11:28 
 
grundsätzlich sollte man so wenig abfragen wie möglich an eine db schicken.
Oder ist es besser, wenn mehrere SQL Abfragen mache, je nach dem was an dieser Stelle im Code gebraucht wird?
falls du abfragen z.b. in schleifen meinst, um gottes willen nicht. allerdings würde ein konkretes beispiel weiter helfen.

gruß
peter

 
asp2php
23-01-2007, 11:30 
 
Original geschrieben von Sebi85
Ist es besser alle Felder von einer Datenbank auszulesen und im kompletten Code dann auf die verschiedenen Elemente zugreifen?
Nein, immer so viel wie notwendig, so wenig wie möglich

Oder ist es besser, wenn mehrere SQL Abfragen mache, je nach dem was an dieser Stelle im Code gebraucht wird?
wie soll man denn hier im Zusammenhang mit obiger Frage verstehen? Holst du Daten von der gleichen Tabelle unter der gleichen Bedingung, oder was?

 
Sebi85
23-01-2007, 11:46 
 
Ich möchte einen Eventkalender Programmieren.

Hole ich jetzt zum Anfang der Datei alles aus der Datenbank raus und gebe mit PHP z.B. das Datum aus. Wenn ich dann was anderes brauche, dann hole ich mit mit PHP aus der Abfrage den Event, Uhrzeit, Eintritt etc. raus und gebe das aus.

Oder hole ich mich in der 1. Abfrage das Datum und mit der 2. Abfrage die Events von dem Datum.

Ich habe mal gelesen, dass mehrere SQL Abfragen schneller sein sollen als PHP Vergleiche.

 
penizillin
23-01-2007, 12:58 
 
Hole ich jetzt zum Anfang der Datei alles aus der Datenbank raus ... das kann ganz viel werden. also eher nicht.
Oder hole ich mich in der 1. Abfrage das Datum und mit der 2. Abfrage die Events von dem Datum. kommt drauf an:

1. was wird wirklich zur sofortigen ausgabe benötigt und
2. wie hängt es zusammen?

bei gutem db-design könnte man vieles mittels JOIN in einer/wenigen abfrage unterkriegen, sodass alles nötige ermittelt wird.

Ich habe mal gelesen, dass mehrere SQL Abfragen schneller sein sollen als PHP Vergleiche. wo denn?

aber du stellst falsche fragen. pauschal kann man darauf nicht präziser antworten, als meine vorredner. fang lieber an, die db-struktur zu entwerfen und überlege dir in jedem schritt, wie die zusammenhänge aussehen sollen. dann können dir andere (z.b. hier im forum) sagen, ob sich die struktur zu einer effizienten lösung eignet, oder nicht.

 
Sebi85
24-01-2007, 08:52 
 
Ich habe eine DB mit 7 Feldern.
Eine ID die sich autom. hochzählt, Veranstaltung, Ort, Beginn, Sonstiges, Eintritt, Datum.

Jetzt habe ich in php pro tag eine tabelle.
Im <th> steht dann das Datum und de Tag. Darunter in den <td>s steht dann in einer Schleife die ganzen Einträge für den Tag.

Reicht jetzt hierfür eine SQL Abfrage, oder soll ich das Datum auslesen und für die <td> nochmals extra nur die daten?

 
tontechniker
24-01-2007, 10:01 
 
Jetzt habe ich in php pro tag eine tabelle. zeile oder tabelle?Reicht jetzt hierfür eine SQL Abfrage, oder soll ich das Datum auslesen und für die <td> nochmals extra nur die daten? kommt auf deine tabellen struktur an ... das datum musst die eigentlich nicht auslesen du bekommst es ja irgendwo her (date() oder auswahlmenu) du müsstest also nur mit JOIN die tabelle mit den einträgen für den tag abfragen

 
asp2php
24-01-2007, 10:15 
 
Original geschrieben von Sebi85
Ich habe eine DB mit 7 Feldern. Eine ID die sich autom. hochzählt, Veranstaltung, Ort, Beginn, Sonstiges, Eintritt, Datum.

:confused: :confused:

Original geschrieben von Sebi85
Jetzt habe ich in php pro tag eine tabelle.

oops ... wirklich? :rolleyes:

 
Sebi85
24-01-2007, 12:01 
 
Original geschrieben von tontechniker
zeile oder tabelle? kommt auf deine tabellen struktur an ... das datum musst die eigentlich nicht auslesen du bekommst es ja irgendwo her (date() oder auswahlmenu) du müsstest also nur mit JOIN die tabelle mit den einträgen für den tag abfragen

Pro Tag eine Tabelle (in php, nicht in der Datenbank) , keine Zeile.
Nicht meine DB sondern meine Tabelle hat sieben Einträge,
das ist auch die einzigste Tabelle in der Datenbank.

 
asp2php
24-01-2007, 12:43 
 
eine Abfrage mit Gruppierung und Sortierung nach Datum, dann kannst du in PHP mit Gruppenwechseln die Tabellen ganz schön erzeugen, aber eine Tabelle pro Tag ist etwas zu viel, eine pro Woche halte ich für sinnvoller :dontknow:

 
Sebi85
24-01-2007, 15:05 
 
Ich wollte die Tage optisch von einander trennen.
Das heist eine Schleife die mir für jeden Tag eine Tablle erzeugt also, von heute bis Sonntag, das sind max. 7 Tabellen. Ist an einem tag kein Event, so wird der Tag komplett ausgeblendet.
Mit einer Weiteren Schleife erhält dann jeder Tag seine Einträge.

So würde alles dynamisch erzeugt werden.

Was meinst du mit Gruppenwechsel?

 
wahsaga
24-01-2007, 15:20 
 
Original geschrieben von Sebi85
Ich wollte die Tage optisch von einander trennen.
Bitte nutze Tabellen nicht aus rein optischen Gesichtspunkten - sondern nur dann, wenn du wirklich tabellarische Daten darzustellen hast.
Was meinst du mit Gruppenwechsel?
Er meint, das ist ein Stichwort, nach dem du mal selber suchen könntest ...

 
Sebi85
24-01-2007, 15:50 
 
Original geschrieben von wahsaga
Bitte nutze Tabellen nicht aus rein optischen Gesichtspunkten - sondern nur dann, wenn du wirklich tabellarische Daten darzustellen hast.



Ich will ja die Tagen und dessen Events auflisten, da hört sich eine Tabelle doch gut an.

Um dem Tag die verschiedenen Events zuzuweisen, kann ich das ja per PHP auswählen. Oder in jedem Schleifendurchgang die entsprechenden Events des Datums?


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:26 Uhr.