Blättern

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Blättern

    Hallo,

    ich schäme mich schon fast hier ein neues Topic bezüglich des Blättern zu eröffnen, aber ich bekomme das leider absolut nicht in den Griff.
    Ich hab so ziemlich jedes Posting zu diesem Thema jetzt hier durch, aber egal was ich auch versucht habe, nix hat mich weiter gebracht.

    Wichtigste Vorweg... Bin noch ein recht frischer im PHP Bereich

    Hier mal mein Code...
    PHP-Code:
    $start 5;   //Hier gebe ich an wieviel Einträge pro Seite erscheinen sollen
    ...
    mysql_query("SELECT count(*) FROM $table order by datum");  //Hier lese ich alle Datensätze aus um die genaue Anzahl zu haben   <--- hoffe das ist so richtig
    ... 
    So, mehr hab ich nu leider nicht.

    Gruß
    Majjo
    Alles was ich da bisher probierte, hab ich wieder raus genommen.

    Ich peile das mit der Seiteneinteilung irgendwie nie.

    Bitte helft mir
    Gruß

    Majjo

  • #2
    Schau mal hier rein: http://www.php-resource.de/forum/sho...threadid=10512
    mfg
    Günni


    Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
    Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
    Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
    City-Tiger - Online durch die Straßen tigern...

    Kommentar


    • #3
      Re: Blättern

      Original geschrieben von Majjo
      PHP-Code:
      mysql_query("SELECT count(*) FROM $table order by datum");  //Hier lese ich alle Datensätze aus um die genaue Anzahl zu haben   <--- hoffe das ist so richtig 
      nein, das ist so schon mal schlecht.

      mache den count nur auf ein feld; warum alle felder zählen und damit serverlast erzeugen, wenn das ergebnis doch in beiden fällen gleich sein wird?
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Wenn Du alles gelesen hast was es zu dem Thema gibt, was erwartest Du noch?
        Dass jemand das Rad neu erfindet und Du dann fahren kannst?

        Mehr als Du hier im Forum findest gibts zu dem Thema nicht zu sagen.
        Beantworte nie Threads mit mehr als 15 followups...
        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

        Kommentar


        • #5
          ohne dir jetzt ans bein pinkeln zu wollen:

          was erweckt eher den eindruck als hättest du selbst was probiert und was erweckt eher den eindruck als willst du ein skript geschrieben haben?
          • versuche posten und sagen wo's hängt
          • einfach gar nix posten
          ???
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6
            Hatte ich auch probiert, doch da bekomme ich nen Fehler den ich nicht raus bekam.

            Hier mal der Code...
            PHP-Code:
              $count mysql_query("SELECT * FROM $table order by datum");
              
            $query "select * from $table order by datum desc LIMIT $start";
              
            $result mysql_query($query);
              
            $x mysql_num_rows($count);
              
            $numpages $x $anzahl;
              
            $array explode(".",$numpages);
              if(
            $array[1] > "0")
              {
              
            $numpages_new $array[0] + "1";
              }
              else
              {
              
            $numpages_new $array[0];
              }
              if (
            mysql_num_rows($result)) {                          //<--- Line 237
                
            while($row=mysql_fetch_array($result)) {

            ....

            for(
            $i=1$i<=$numpages_new$i++)
            {
            $limit1 =  (($i "1") * $anzahl);
            $limit2 $limit1 $anzahl;
            echo(
            "<A href=\"gbook.php?limit1=$limit1&limit=$limit2\"> [$i] </A>");

            So, die Meldung bekomme ich...
            Warning: Supplied argument is not a valid MySQL result resource in /mnt/ls1/03/293/00000001/htdocs/gbook.php on line 237
            Es wird denke ich zu 99,9 % an dem doppelten num_rows liegen, aber ich blick da überhaupt nicht durch wie ich das sonst machen sollte.
            Gruß

            Majjo

            Kommentar


            • #7
              Hier wurde nur der Startpunkt angegeben, aber wieviel Beiträge er dir ausgeben soll nicht.
              PHP-Code:
              $query "select * from $table order by datum desc LIMIT $start"
              EDIT:

              Syntax: limit start, anzahl

              mfg
              Günni


              Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
              Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
              Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
              City-Tiger - Online durch die Straßen tigern...

              Kommentar


              • #8
                hatte $start in $anzahl oben geändert aber nicht hinter dem LIMIT befehl.
                Habs nun gemacht (LIMIT $anzahl).

                Nun zeigt er auch die Fehlermeldung nicht mehr an.
                Die richtige Anzahl der Seiten wird unten auch angezeigt, doch wenn ich einen Seitenlink anklicke, dann erscheint immer wieder nur die 1. Seite mit den letzten 5 Einträgen.
                Gruß

                Majjo

                Kommentar


                • #9
                  Original geschrieben von Majjo
                  Die richtige Anzahl der Seiten wird unten auch angezeigt, doch wenn ich einen Seitenlink anklicke, dann erscheint immer wieder nur die 1. Seite mit den letzten 5 Einträgen.
                  dann sind vermutlich

                  - entweder deine links falschzusammengebaut (du übergibst falsche parameter),

                  - oder deine übergebenen parameter können vom script nicht erkannt werden (register_globals).
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    Das heißt dann einfach nur das er die Variable $Start nicht geändert wird. Diese stellt ja den Startpunkt für die Einträge da.
                    mfg
                    Günni


                    Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
                    Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
                    Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
                    City-Tiger - Online durch die Straßen tigern...

                    Kommentar


                    • #11
                      wie günni schon sagte:

                      limit erfordert 2 parameter

                      übergibst du nur einen, so nimmt er das als zahl der beiträge die du haben willst und fängt am anfang an

                      limit 5: liefert dir die ersten 5 beiträge

                      limit 7,5: liefert dir 5 einträge beginnend bei eintrag 7
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #12
                        wie muss denn dann die Variable Start genau aussehen ???

                        Die hab ich ja garnicht drin.

                        Ups, war ich etwas zu langsam mit dem posten :-)
                        Zuletzt geändert von Majjo; 13.03.2003, 12:17.
                        Gruß

                        Majjo

                        Kommentar


                        • #13
                          du musst wissen wieviel beiträge du pro seite haben willst ($anzahl)

                          du musst wissen beim wievielten beitrag du anfangen willst ($start)

                          auf der ersten seite isses limit 1,5
                          auf der zweiten seite limit 6,5
                          auf der dritten seite limit 11,5
                          ...
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar


                          • #14
                            ok, das habe ich soweit verstanden.

                            aber wie bekomme ich die startzahl raus ??
                            Es sollen immer die letzten beiträge zuerst angezeigt werden.
                            LIMIT 1,5 also für die letzte Seite.
                            Wie stell ich das an das er den ersten Wert dann automatisch einsetzt durch berechnen ?


                            Und die Seitenanzahl verändert sich ja auch, also kann ich ja nicht für nur 4 Seiten vorher die dinger angeben
                            Gruß

                            Majjo

                            Kommentar


                            • #15
                              Original geschrieben von Majjo
                              aber wie bekomme ich die startzahl raus ??
                              Es sollen immer die letzten beiträge zuerst angezeigt werden.
                              LIMIT 1,5 also für die letzte Seite.
                              falscher ansatz.

                              du sortierst du datensätze durch ORDER BY derart, dass die neuesten zuerst kommen.

                              und innerhalb dieser sortierten ergebnismenge wählst du dann mit LIMIT 1,5 die ersten 5, mit LIMIT 6,5 die nächsten fünf, etc., aus.
                              I don't believe in rebirth. Actually, I never did in my whole lives.

                              Kommentar

                              Lädt...
                              X