Seite 1 von 2

datenbankeinträgen (rechnen)

Verfasst: 21.12.2007 09:08
von Bregitt
wäre jemand so nett und würde mir sagen wie man mit datenbankeinträgen rechnet?
also {blabla}+{blabla2}
oder {blabla} - 4
(sinngemäß)

thx

Verfasst: 21.12.2007 12:32
von gsxfan
Hallo.

Das hier...

Code: Alles auswählen

SELECT topic_id, CEIL(count(*)/(15)) AS seite FROM phpbb_posts
...berechnet die Anzahl der Seiten in einem Thread. Die Variable "seite" beinhaltet dann die Anzahl der Seiten, die mit CEIL (<anzahl der beiträge> / 15 (Anzahl der Beiträge pro Seite)) berechnet wird.
In den Klammern hinter CEIL kannst Du mathematische Berechnungen ausführen. CEIL (count(*)/(15)+1) würde z.B. die Anzahl der Seiten um Eins erhöhen.

Uwe

Verfasst: 21.12.2007 12:57
von Seimon

Verfasst: 22.12.2007 04:19
von Bregitt
da es ja leider verschoben wurde wußte ihr wohl nicht das meine frage sich auf 3.0 bezog.
trotzdem danke

Verfasst: 22.12.2007 10:03
von Boecki91
auch mit phpBB3 sind solche Sachen möglich du solltest jedoch beachten das wenn du deinen MOD veröffentlichst andere Datenbanksysteme vielleicht nicht so rechnen können.

Verfasst: 22.12.2007 13:42
von Bregitt
na einen mod würde ich das nich grade nennen:)
im alten phpbb kann ich es..dort its es ein simples "-1".
die datenbankeinträge werden bei 3.0 in den dateien so aufgerufen zb {totalposts} jetzt will ich aber damit noch rechnen und bekomm es nich gebacken.
also zb totalposts geteilt durch 88
wie sieht das dann aus wenn ich mit dem datenbakeitrag rechnen will?

Verfasst: 22.12.2007 16:03
von gn#36
Du kannst mit SQL ähnliche Berechnungen durchführen wie mit PHP oder einer anderen Programmiersprache.

Code: Alles auswählen

SELECT 1 + 1 as Ergebnis
sollte beispielsweise ein gültiger Befehl sein und keine Probleme ergeben. Statt jeder der Zahlen kannst du auch Felder einer Datenbank einsetzen, die Berechnung wird dann für jeden Datensatz durchgeführt, oder du verwendest wie in gsxfans Beispiel Aggregatfunktionen (count() sum() ...)

Was willst du denn machen? Du meinst aber nicht die Template Dateien, oder?

Verfasst: 23.12.2007 00:06
von Bregitt
also ein konkretes beispiel

Themen insgesamt 5610

wenn ich da jetzt möchte das er immer 100 themen weniger anzeigt!
wie mach ich das?
dangöö

------------
Nichts auf der Welt ist so gerecht verteilt wie der Verstand Denn jedermann ist überzeugt, daß er genug davon habe (Rene Descartes)

Verfasst: 23.12.2007 00:34
von gn#36
So besonders konkret ist das Beispiel jetzt nicht gerade.

Mit Beiträgen kann man vieles machen: Sortieren, verschieben, löschen, sortiert ausgeben, unsortiert ausgeben, auf einer Portalseite ausgeben, im Themenkontext ausgeben...

Du wirfst nicht gerade mit Informationen um dich und eine PN, die noch dazu vor dem Beitrag hier im Thema geschrieben wurde beschleunigt meine Antwort mit Sicherheit auch nicht, vor allem wenn sie den gleichen Inhalt hat wie der Beitrag (was jetzt nicht heißen sollst, dass du demnächst bei Supportanfragen per PN einen anderen Text einfügen sollst, sondern dass du das besser ganz lässt wenn du nicht speziell darum gebeten wirst).

Wie und wo willst du die Themen anzeigen?

Code: Alles auswählen

SELECT xy FROM table LIMIT 2
Das liefert dir genau 2 Einträge.

Du kannst vorher per Query bestimmen (-> count) wie viele Einträge es gibt und dann per LIMIT abschneiden.

Verfasst: 23.12.2007 01:24
von Bregitt
ganz normal wie das im board unten steht.

Statistik

Beiträge insgesamt 11804 • Themen insgesamt 5710(-100) • Mitglieder insgesamt 151 • Unser neuestes Mitglied noname