• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Gästebuch mit JS Blätterfuntion

Yastynu

Mitglied
Hallo Leute!!!

Ich weiß, der Titel macht erstmal den Eindruck, als wenn ich hier eine Frage zu JS :roll: hab und im falschen Forum gelandet bin, aber guckt Euch bitte erstmal meine Frage an:

Also ich möchte ein Gästebuch-Skript schreiben (in PHP)... Dieses soll, damit später die Blätterfunktion mit JS funktioniert die sagen wir mal ersten 10 Einträge in einen div packen, der als einziger über CSS sichtbar gemacht wird, und alle anderen sollen in viele andere über CSS unsichtbar gemachte div zu je 10 Einträgen gepackt werden... soweit zur theorie...

wie kann ich das praktisch umsetzen?? also den PHP-Teil davon...
 
Werbung:
So in der Art?
PHP:
$i = 1;
$j = 1;
foreach ($entries as $entry) {
    if ($i === 1 && $j === 1) {
        echo '<div id="sichtbar">';
    } else if ($i === 1 && $j > 1) {
        echo '<div id="versteckt">';
    }
    echo $entry;
    if ($i === 10) {
        echo '</div>';
        $i = 0;
        $j++;
    }
    $i++;
}
 
hmm... das führt zwar dazu, dass die ersten 10 einträge in einen div gepakt werden, aber aus irgendeinem grund werden die anderen einträge nicht in neue divs gepackt... also es kommt nicht zu dem erwünschten
HTML:
<div id="versteckt">
 
Werbung:
Da du ja warscheinlich die Gestebucheinträge aus deiner Datenbank hollst, würde ich das so bauen das wenn einer auf dem Button drückt, dass dann 2 werte per get oder post gesendet werden. Der eine wert gibt an "von welchem eintrag" und der andere gibt an wieviele einträge.

Dann einfach im SQL einen LIMIT setzen und fertig.
Per AJAX könnte man dann die neuen Daten dann mit javascript:
document.getElementById('divid').innerHTML = value;
ändern lassen.

Oder per PHP die neue Seiten bauen lassen und anzeigen lassen.
 
ja, aber genau das wollte ich ja nicht machen, weil sich ja nicht ne neue seite aufbauen soll, ich möchte als reaktion auf den button klick nur, dass die klassen der divs geändert werden, sprich, dass das aktuell sichtbare div unsichtbar wird und das unsichtbare sichtbar... aber dafür muss ich ja eben erstmal die divs hinkriegen...
 
Werbung:
es geht mir nicht darum, wie ich es mit js und css dann mache, sondern, wie das php ablaufen soll. die divs müssen ja schließlich erstmal entstehen... und dort ist der haken... ich habs zunächst mit mehreren for-schleifen ausprobiert, auch erstmal funktioniert haben, aber dann noch einige unerwünschte nebeneffekte hatten...

der einfall von T!P-TOP war ja schonmal nicht übel, hat aber noch nicht so richtig funktioniert, weil die unsichtbaren divs nicht richtig erzeugt wurden... im moment versuch ich noch, das ein bisschen hin zu bekommen, aber so richtig will das nicht laufen...
 
so nach einiger tüftelei hab ich endlich die lösung gefunden... wer sich für die lösung interessiert kann sich den code ja mal angucken:

PHP:
public function show() {
            $show = "";
            
            for($i = 1; $i <= count($this -> entries); $i++) {
                if ($i == 1) {
                    $show .= "<div class=\"visible_gb_ents\">";
                }
                
                if ($i % 5 == 1 && $i != 1) {
                    $show .= "<div class=\"invisible\">";
                }
                
                $show .= "<div class=\"author\">" . $this -> entries[$i - 1]["entry_author"] . "</div>";
                
                if ($i % 5 == 0) {
                    $show .= "</div>";
                }
            }
            
            return $show;
        }

trotzdem danke an alle, die versucht haben mir zu helfen... :D :mrgreen:
 
Zurück
Oben