Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

php: DB-Inhalt auf mehreren Seiten darstellen

Empfohlene Antworten

Veröffentlicht

Hallo, ich habe die aufgabe bekommen, bei einem "Nachrichtensystem" auf PHP4/MySQL-Basis die Anzeige zu programmieren.

Ich werde das auf Smarty-Templateebene machen.

Aber bevor ich mich ans direkte Coden mache, möchte ich mal nach euren ideen fragen:

Die konkrete Umsetzung habe ichs chon in etwa, aber es hapert noch etwas bei der Aufteilung in Seiten:

Und zwar sollen jeweils immer 20 "Nachrichten" angezeigt werden, eine Nachricht ist ein Datenbankeintrag mit ID, Poster_ID, inhalt und zeitpunkt.

Jetzt die frage: wie stelle ich es an, dass die Einträge automaitsch in seiten gesplittet werden? (so wie hier im Forum)

ich habe daran gedacht, dass das entweder durch ein Array, in das ich ALLE nachrichten einlese, zu lösen ist oder aber über eine MySQL-Funktion realisierbar wäre...

(MySQL: eine neue temporäre ausgabespalte anlzulegen, in denen die posts durchnummeriert werden. dann kann ich aufgrund der immer gleichen nummerierung wählen, ob ich 20-30 oder 10-20 anschauen möchte)

Das Problem ist, dass die filterung (also was man auf den Schirm bekommt) durch die User-ID geshcieht. das bedeutet wiederum, dass die POST_ID (auto_increment) NICHT fortlaufend ist, da ja zwischen den eigenen nachrichten auch nachrichten von anderen usern abgelegt sein können....

wie würdet ihr sowas umsetzen?

hi

wenn ich dich richtig verstanden habe sollte sich das so lösen lassen:

SELECT * FROM PostTabelle WHERE UserID='$aktuelle_user_id' SORT BY datum;

dann kriegst du jeweils nur die nachrichten zu dem zugehörigen benutzer, und die zB sortier nach dem Datum oä.

vielleicht hilfts dir ja

ciao

r##t

danke, das ging ja schnell! :)

aber ich konnte anscheinend nicht genau rüberbringen, um was es geht...

okay: wie ich die daten rausbekomme etc weis ich. ich weis auch wie ich nur die daten des users ausgebe.

es geht konkret darum, dass der btreffende user nur 20 seiner 1000xxxxx nachrichten auf einmal angezeigt bekommt, also 20 pro seite, und er soll die möglichkeit haben, sich durch die jeweiligen 20er-blöcke (also seiten) durchzuklicken.

so wie hier im forum, so stelle ich mir das vor mit dne seiten...

hi nochmal,

mit "LIMIT 0 , 20" am ende der SQL abfrage kannst du dir den gewünschten block aussuchen.

in diesem fall 0 -20 .

und eine variable mit einem link übergeben wirst du wohl noch schaffen ; )

meine überlegung:

<?

$add = 20;

if ( $HTTP_GET_VARS["zeige_ab"] == "")

{ $ab = $add; }

else

{ $ab += $add; }

?>

<a href="<?=$PHP_SELF."?zeige_ab=".$ab."?>"> bis <?=$ab ?></a>

ciao

jay

ps : sowas is standard ! :D

okay, danke :)

oben hast du nix von LIMIT erwähnt, aber jetzt wo du's sagst, ich habe davons chon mal in der doku gelesen....

danke :)

(p.s.: bin doch noch im ersten Jahr ;)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.