Ankündigung

Einklappen
Keine Ankündigung bisher.

"Blätterfunktion" und "Sortierfunktion"

Einklappen

Neue Werbung 2019

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

  • "Blätterfunktion" und "Sortierfunktion"

    Guten Tag,

    Ich hab dieses Skript, damit kann ich Wunderbar sortieren.
    Doch nun möchte ich auch noch eine "Blätterfunktion" mit einbringen, jedoch peil ich nicht wie ich es das einbinden kann. Ich hoffe es kann mir jemand helfen.

    PHP-Code:
    <?php 
    include ("checkuser.php");
    include (
    "connectdoku.php");
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
            "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
        <title>Endversion</title> 
        <link rel="stylesheet" href="tier.css" media="screen">
        <link rel="stylesheet" href="print.css" media="print">
    </head>
    <body>

    <div id="container">
        <div id="header" title="startseite">
        <h1><span style="color:white">Tiere</span></h1>
    </div>
     
    <div id="menu">
        <h3>Startseite</h3>
         </div>
        <div id="contents">
            <div class="blogentry">                                    <?php                                    $ordnen=desc;                                    $strsort=$_GET[sort];                                      $strfeld=$_GET[feld];     
                                        
    $strsort;                                    $strfeld;                                                                                                
    if(
    $strsort == "desc"){
    $linktext "";
    $ordnen"asc";
    }                  
    if(
    $strfeld == "")
    {
    $sql "SELECT id, Status  FROM tier order by problemid asc";
    $adressen_query mysql_query($sql) or die("Anfrage nicht erfolgreich");
    }
    else 
    {
                                            
    $sql "SELECT id, status  FROM tier order by $strfeld $strsort";
    $adressen_query mysql_query($sql) or die("Anfrage nicht erfolgreich");
    }
    ?>
    <table cellpadding="1" cellspacing="3" border="1" align="center">
    <tr>
    <td><a href="<?php echo $_SERVER['PHP_SELF']?>?sort=<?php echo $ordnen ?>&feld=id">ID<?php echo $linktext ?></a></td>        
                                
    <td><a href="<?php echo $_SERVER['PHP_SELF']?>?sort=<?php echo $ordnen ?>&feld=status">Status<?php echo $linktext ?></a></td>
                                            
    <td>Detailansicht</td>
    </tr>
    <?php
    while ($adr mysql_fetch_array($adressen_query)){
    ?>
    <tr>                                     <td><?=$adr['ID']?></td>                                                <td><?=$adr['Status']?></td>                     
    <?php 
    echo  "<td><a href='detailansicht.php?ID=$adr[ProblemID]'>Detailansicht</a></td>"?>                     
    </tr>
    <?php
    }
    ?>
    </table>
    </div>
    </div>
        <div id="footer">
        </div>
    </div>
    </body>
    </html>
    dieses Skript zum Blättern hab ich im Internet gefunden, funktioniert an sich auch wunderbar.

    PHP-Code:
    <?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

    $link mysql_connect("localhost","webportal","portal") or die ("Keine Verbindung moeglich");
    mysql_select_db("webportal") or die ("Die Datenbank existiert nicht");


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

    //Ausrechen welche Spalte man zuerst ausgeben muss:

    $start $seite $eintraege_pro_seite $eintraege_pro_seite;


    //Tabelle Abfragen
    //Tabelle hei&szlig;t hier einfach: Tabelle
    $abfrage "SELECT * FROM los1 LIMIT $start$eintraege_pro_seite";
    $ergebnis mysql_query($abfrage);
    while(
    $row mysql_fetch_object($ergebnis))
        {
       echo 
    $row->ProblemID."<br>"// Hier die Ausgabe der Einträge
       
    }


    //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

    $result mysql_query("SELECT ProblemID FROM Los1");
    $menge mysql_num_rows($result);

    //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\">$b</a> ";
          }


       }
    echo 
    "</div>";
    ?>
    Gruß


  • #2
    Nun, entweder, du baust die Sortierung in die Blätterfunktion ein, oder du baust die Blätterfunktion in deine vorhandene Sortierskript ein.
    Ich würde dein Sortierskript benutzen und überarbeiten, da dieses ja schon auf die richtigen Tabellen zugreift.
    An deine MySQLquery musst du noch "LIMIT $start, $anzahl" anhängen. Ans ende des alten Skriptes dann noch die Anzahl der Seiten ausgeben. (Steht unterhalb von "//Wieviele Einträge gibt es überhaupt")
    mysql ist veraltet Mails senden: Ohne Probleme und ohne mail()
    PHP-Code:
    echo 'PS: <b>Meine Antwort ist keine Lösung, sondern nur eine Hilfe zur Lösung.</b>'

    Kommentar


    • #3
      dass hatten wir schon unzählige mal hier, google ist dein freund !!!
      Lass mich das für dich googlen
      PHP-Code:
      if ( $humans >= ) {
         
      war ();

      Kommentar


      • #4
        Danke für die antworten, ich krieg es zwar hier dass nur 20 Einträge angezeigt werden, aber mehr als eine Seite hab ich nicht .
        @PhillKill12 ich bin nicht auf der Suche nach nem Skript des hab ich ja, sogar hier gepostet...

        Kommentar


        • #5
          nur so nebenbei, was mir grad auffällt, PHP_SELF, ist nicht sicher !!!
          PHP-Code:
          if ( $humans >= ) {
             
          war ();

          Kommentar


          • #6
            Dann zeig doch mal, was du bis jetzt hast, also deine Variante mit den ersten 20 Einträgen. Darauf kann man ja aufbauen.
            mysql ist veraltet Mails senden: Ohne Probleme und ohne mail()
            PHP-Code:
            echo 'PS: <b>Meine Antwort ist keine Lösung, sondern nur eine Hilfe zur Lösung.</b>'

            Kommentar


            • #7
              Warum lagerst du die ganze Blätterei nicht in eine Funktion aus mit den benötigten Parametern. So kannst die wenigstens überall in deinem System einsetzen.

              Und ich würde mir an deiner Stelle mal SQL_CALC_FOUND_ROWS und SQL_FOUND_ROWS anschauen, dass ist schneller als mysql_num_rows


              Gruß litter
              Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
              http://www.lit-web.de

              Kommentar


              • #8
                Naja, richtig gut geht das ja nicht. Weil es von Datenbankdaten (Gesamtzahl, aktuelle Einträge) abhängig ist und auch noch relevante Queryteile liefert. Das lässt sich nicht wirklich wiederverwendbar auslagern.
                --

                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                --

                Kommentar

                Lädt...
                X