kommentare zählen

dahvinci

Grünschnabel
Ich glaub ich bin entweder zu müde oder zu doof für...

ich mcöhte kommentare zählen...

#1

#2

#3

so hab ich es gelöst...

Code:
$variabel = 1;

in der while schleife wo die kommentare dargestell werden..

Code:
$varibale++;

funktioniert auch ....


problem ist das ich die kommenatre aufteile 6 pro seite...

wenn ich natürlich auf seite 2 der kommenatre klicke zählt er natürlich wieder

#1

#2

#3

obwohl es ja....

#4

#5

#6

wäre....

ich weiß das man es mit
Code:
mysql_num_row();
lösen kann aber ich komme gerade nicht drauf wie ich das am besten mache...

danke für jede hilfe,

gruß,

dahvinci

p.s: ein beispiel wäre super....
 
Hallo dahvinci,
wenn dein Script ein Blätterfunktion besitzt, dann würde sich der Initialwert für die Nummerierung der Kommentare wiefolgt berechnen lassen:
Code:
(Seitennummer - 1) * Kommentare pro Seite + 1

Bsp:
Kommentare pro Seite: 3
Seitennummer: 2

Initialwert = (2 - 1) * 3 + 1 = 4

Der erste Kommentar auf der zweiten Seite bei 3 Kommentaren pro Seite wäre also Kommentar Numero 4 ;)

[phpf]mysql_num_rows[/phpf] liefert dir die Anzahl der Datensätze anhand der Ergebnis-Kennung eines MySQL-Queries.

Gruß
Marvin
 
Hi Marvin,

erstmal danke für deine antwort....
kannst du mir ein Code beispiel geben?

Das wäre echt sehr nett von dir....



Gruß,


dahvinci
 
Nunja, wenn dein Script eine Blätterfunktion besitzt, dann muss ja irgendwo festgelegt sein, wie viele Kommentare pro Seite angezeigt werden müssen. Die Seitennummer wird meistens als $_GET-Variable übergeben.
PHP:
// Gesamtanzahl an relevanten Kommentaren ermitteln
$sql = "SELECT * FROM kommentar-tabelle"; // ggf. noch mit bspw. "WHERE news_id = ..." erweitern, wenn du nur die Kommentare zu einer bestimmten News anzeigen willst.
$result = mysql_query($sql);
$total_entries = mysql_num_rows($result);

// Kommentare pro Seite festlegen
$perpage = 10;

// Seitennummer ermitteln
$page = isset($_GET['page']) ? $_GET['page'] : 1;

// Startwerte für LIMIT im MySQL-Statement bestimmen (der Startwert für die Kommentare wäre dieser Wert +1, da LIMIT mit 0 anfängt zu zählen)
$start = ($page - 1) * $perpage;

$pages = ceil($total_entries / $perpage);
$mysql_limit = $start . ', ' . $perpage;

// MySQL-Statement vorbereiten
$sql = "SELECT
            [...]
        FROM
            kommentar-tabelle
        ...
        LIMIT " . $mysql_limit;

$number = $start + 1; // siehe oben
$result = mysql_select($sql);
while ($row = mysql_fetch_assoc($result)) {
    // Kommentar ausgeben
    $number++;
}

Das ist jetzt sehr knapp gehalten und soll mehr der Verdeutlichung dienen. Du solltest noch diverse Kontrollstrukturen einfügen. Was ist beispielsweise, wenn ein Benutzer die URL manipuliert? Das würde zu einem ungültigen LIMIT führen, was einen MySQL-Fehler hervorrufen würde...

Gruß
Marvin
 
Zurück