Gegen Bilderklau - Das Original (https://www.gegen-bilderklau.net/index.php)
- Design, Website, Copyright (https://www.gegen-bilderklau.net/board.php?boardid=80)
--- Homepagehilfe (https://www.gegen-bilderklau.net/board.php?boardid=27)
---- Homepagehilfe - Archiv (https://www.gegen-bilderklau.net/board.php?boardid=139)
----- [PHP & MySQL] Problem mit Blätterfunktion (https://www.gegen-bilderklau.net/thread.php?threadid=141089)


Geschrieben von Baronesse am 20.09.2008 um 11:37:

  Problem mit Blätterfunktion

Hallöchen,

ich hab ein Problem mit meiner Blätterfunktion. Ich bin dabei eine Seite zu coden, auf der unter anderem die Berichte der Mitglieder angezeigt werden, die wir in einer Tabelle in der Datenbank "berichte" sammeln.
Die Berichte werden nach Seiten eingetragen. Das heißt eine Seite in Word ist ein Eintrag in der Datenbank.
Dabei werden id (automatisch), Titel, Datum, Inhalt, Berichtid und Userid gespeichert.
Die Blätterfunktion, die mir Kopfschmerzen macht ist die die die Berichtetitel blättern soll.
Ich hab es so gemacht, dass es 25 Einträge pro Seite geben soll.
Leider rechnet er nach der ersten Seite nicht weiter. D.h. der 26 Eintrag erscheint einfach nicht auf einer zweiten Seite, die zweite Seite ist leer und der Titel, der ausgegeben werden sollte wird ausgeblendet.
HIer beiße ich mir nun seit mehreren Stunden die Zähne aus und finde den Fehler nicht...
Ich hab mal beide Quelltexte, die der Mitgliederübersicht, die die Mitgliederid übergibt eingestellt und die Übersichtsdatei mit der "defektern" Blätterfunktion.

Mitgliederübersicht:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:

   <?php
include("db.php");
$sqlturnier "SELECT * FROM user WHERE Berichte = 'ja' ORDER BY `id` ASC";
$result mysql_query($sqlturnier) or die("$sqlturnier<hr />" .mysql_error());
while ($row mysql_fetch_array($result))
{

        echo "<a href="uebersicht.php?user&id=".$row[id]."" target="menueberichte"> ".$row[Vorname]."</a></td>";}
?>



Übersicht:
php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:

<?php
    $seite $_GET["seite"];  //Abfrage auf welcher Seite man ist

//Wenn man keine Seite angegeben hat, ist man automatisch auf Seite 1
    if(!isset($seite)){
        $seite 1;
       }

//Verbindung zu Datenbank aufbauen
    include("db.php");

//Einträge pro Seite: Hier 15 pro Seite
    $eintraege_pro_seite 25;

//Ausrechen welche Spalte man zuerst ausgeben muss:

    $start $seite $eintraege_pro_seite $eintraege_pro_seite;

    $userid $_GET["id"];
    $abfrage "SELECT * FROM `berichte` WHERE `Userid` = '$userid' AND Titel != '' AND Datum NOT LIKE '' order by Datum DESC LIMIT $start$eintraege_pro_seite ";
    $result mysql_query($abfrage) or die("$sql<hr />" .mysql_error());
    while($row mysql_fetch_array($result)){
         $datum $row[Datum];
         $teildatum explode("-"$datum);
         $datum2 $teildatum[2] . "." $teildatum[1] . "." $teildatum[0];
        $id=$row[Berichtid];

           echo "<a href="javascript:loadFrames('mainberichte','bericht.php?berichte&berichteid=$id''bilderberichte''bilder.html')"> $datum2 ".$row[Titel]." </a><br/ >";}
        echo"<br/ >";

//Jetzt kommt das "Inhaltsverzeichnis",
//sprich dort steht jetzt: Seite: 1 2 3 4 5


//Wieviele Einträge gibt es überhaupt

//Wichtig! Hier muss die gleiche Abfrage sein, wie bei der Ausgabe der Daten
//also der gleiche Text wie in der Variable $abfrage, blo&szlig; das hier das LIMIT fehlt
//Sonst funktioniert die Blätterfunktion nicht richtig,
//und hier kann nur 1 Feld abgefragt werden, also id

        $result2 mysql_query("SELECT * FROM `berichte` WHERE `Userid` = '$userid' AND Titel != ''");
        $menge mysql_num_rows($result2);

//Errechnen wieviele Seiten es geben wird
        $wieviel_seiten $menge $eintraege_pro_seite;

//Ausgabe der Seitenlinks:
        echo "<div align="center">";
        echo "<b>Seite:</b> ";


//Ausgabe der Links zu den Seiten
        for($a=0$a $wieviel_seiten$a++){
               $b $a 1;

   //Wenn der User sich auf dieser Seite befindet, keinen Link ausgeben
               if($seite == $b){
                  echo "  <b>$b</b> ";
              }

   //Aus dieser Seite ist der User nicht, also einen Link ausgeben
               else {
                  echo "  <a href="?seite=$b&berichteid=$id">$b</a> ";
              }
        }
    echo "</div>";
?>


Weiß einfach nicht mehr weiter, vielleicht könnt ihr mir helfen :s



Geschrieben von cll am 22.09.2008 um 13:00:

 

Lass dir mal nach Zeile 18 deine Variablen ausgeben (mit echo)

anstatt for($a=0; $a < $wieviel_seiten; $a++) kannst du for($a=1; $a <= $...) schreiben, dann sparst du dir die nächste Zeile.


<a href=\"?seite=$b&berichteid=$id\">$b</a>
Wofür ist das berichteid? wird soweit ich sehe nirgends abgerufen!


Forensoftware: Burning Board, entwickelt von WoltLab GmbH