Blätterfunktion mit Sortierfunktion

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

  • Blätterfunktion mit Sortierfunktion

    hi@all

    ich hab ne seite gebastelt, da werden tabaktests angezeigt, und nach 6 einträgen wird ne neue seite generiert.
    Oben hab ich dann ne sortierfunktion gebastelt, tut auch soweit alles.
    Wenn man jetzt aber nach gesamtbewertung sortiert, werden nur die ersten 6 einträge sortiert, also die erste seite.
    Auf der 2. seite wird dann nichtsmehr sortiert... ist vielleicht bissle verwirrend..

    Hier ist der Code:
    PHP-Code:
    <?php

    $weiter
    ;
    $paging "";
    $stop;

    // Auswähl der anzuzeigenden Objekte

    if($Hwhere != "" and $Swhere != "")
    {
    $sql "SELECT {$select} FROM {$from} WHERE Hersteller = '$Hwhere' and Sorte = '$Swhere'";
    }
    if(
    $Hwhere == "" and $Swhere != "")
    {
    $sql "SELECT {$select} FROM {$from} WHERE Sorte = '$Swhere'";    
    }
    if(
    $Hwhere != "" and $Swhere == "")
    {
    $sql "SELECT {$select} FROM {$from} WHERE Hersteller = '$Hwhere'";    
    }
    if(
    $Hwhere == "" and $Swhere == "")
    {
    $sql "SELECT {$select} FROM {$from}";    
    }

    // Ende Auswähl der anzuzeigenden Objekte




    $result mysql_query($sql$con);
    $Zeilen mysql_num_rows($result);
    $Zahl $Zeilen 6;            // Hier wird die benötigte Seitenanzahl berechnet
    $Seiten ceil($Zahl);
    $aufSeite $_GET[p];
        if(!
    $aufSeite)
        {
            
    $aufSeite 1;
        }
    $weiter $aufSeite +1;    // Seitenauswahl
    $zurück $aufSeite -1;
    $Start *$aufSeite -6;
    $Ende 6;



    $stop $aufSeite 3;
    while(
    $stop 1)
    {
        
    $stop $stop +1;
    }
    $i $aufSeite;
    while(
    $i $stop)
    {
        
    $i=$i 1;
        
    $paging "<a href=\"test.php?p=$i\"> $i </a>".$paging ;
    }

            
    $paging $paging ."$aufSeite";


    $stop2 $aufSeite 3;
    while(
    $stop2 $Seiten)
    {
        
    $stop2 $stop2 -1;
    }
    $i $aufSeite;  
    while(
    $i $stop2)
    {
        
    $i=$i +1;
        
    $paging $paging ."<a href=\"test.php?p=$i\"> $i </a>";
    }        



    if(
    $aufSeite $Seiten)
    {
    $paging $paging ."<a href=\"test.php?p=$weiter\">></a>";
    }



    if(
    $aufSeite 1)
    {
    $paging "<a href=\"test.php?p=$zurück\"><</a>".$paging;
    }


    // Sortierung der anzuzeigenden Elemente

    if($Hwhere != "" and $Swhere != "")
    {
    $sql2 "SELECT {$select} FROM {$from} WHERE Hersteller = '$Hwhere' and Sorte = '$Swhere' ORDER BY {$sortieren} {$sortierenNach} LIMIT $Start,$Ende";
    }
    if(
    $Hwhere == "" and $Swhere != "")
    {
    $sql2 "SELECT {$select} FROM {$from} WHERE Sorte = '$Swhere'ORDER BY {$sortieren} {$sortierenNach} LIMIT $Start,$Ende";    
    }
    if(
    $Hwhere != "" and $Swhere == "")
    {
    $sql2 "SELECT {$select} FROM {$from} WHERE Hersteller = '$Hwhere' ORDER BY {$sortieren} {$sortierenNach} LIMIT $Start,$Ende";    
    }
    if(
    $Hwhere == "" and $Swhere == "")
    {
    $sql2 "SELECT {$select} FROM {$from} ORDER BY {$sortieren} {$sortierenNach} LIMIT $Start,$Ende";    
    }
        
    $result2 mysql_query($sql2$con);
    if(!(
    $result2 mysql_query($sql2)))
    {
        die(
    "Anfrage fehlgeschlagen: " mysql_error());
    }
     echo 
    $sql2         
    ?>
    Wär super wenn mit jemand helfen könnte!

    Gruß
    booty
    Zuletzt geändert von booty; 29.05.2006, 13:53.

  • #2
    Tip: Der Grund warum dir keiner Antwortet ist weil dein Code so ellenlang ist und keiner Bock hat sich da durchzuinterpretieren. Mich eingeschossen. Kommentier ggf deinen Code deftig, und kürz ihn auf die relevanten Zeilen.

    Aber ohne das jetzt gelesen zu haben, schickst du auch beim 'nächste Seite'- bzw. 'Seite X'-Link auch die Sortierung mit?

    Kommentar


    • #3
      ich schick die Sortierung nich mit.
      Kannst du mir vielleicht kurz erklären wie das geht?
      Ich peil grad überhaupt nichmehr durch.

      Wär wirklich super nett!

      gruß
      booty

      Kommentar


      • #4
        Ganz einfach; du übergibst $sortieren und $sortierenNach mit im Seiten-Link (á la seite.php?sort=$sortieren )

        Kommentar


        • #5
          hmm geht aber nicht
          da wir erst die gesamte liste sortiren müssen und dann in seiten einteilen.
          Wenn man sonst zB nach Gesamtbewertung sortiert wird die erste Seite nach der Gesamtbewertung sortiert und dann die 2. Seite nach Gesamtbewertung.
          Aber wenn auf der 2. Seite ein Eintrag mit einer höheren Gesamtbewertung steht, ist dieser Eintrag zwar auf der 2. Seite an erster stelle, obwohl er ja eigentlich schon auf der ersten Seite sein müsste.

          P.S.
          Es könnte doch eigentlich funktionieren wenn ich
          $sql $sortieren und $sortierenNach
          übergebe.

          Dann weiss er welche einträge er anzeigen soll und wie er sie sortieren soll.

          Zuletzt geändert von booty; 29.05.2006, 14:34.

          Kommentar

          Lädt...
          X