Seitenweise Blättern ? Funktioniert nicht

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

  • Seitenweise Blättern ? Funktioniert nicht

    Hallo Community,
    ich habe folgendes Problem und zwar wenn ich oben auf die jeweiligen Seitenzahl klicke. Kommt nichts.

    Code:
    <link href="css/v1.css" rel="stylesheet" type="text/css" />
    <?php
    $seite = $_GET["site"];  //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","root","") or die ("Keine Verbindung moeglich");
    mysql_select_db("tutorial") 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
    $abfrage1 = "SELECT * FROM news LIMIT $start, $eintraege_pro_seite";
    $ergebnis1 = mysql_query($abfrage1);
    while($row = mysql_fetch_object($ergebnis1))
        {
       echo $row->newsid."<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
    
    $result1 = mysql_query("SELECT newsid FROM news");
    $menge = mysql_num_rows($result1);
    
    //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=\"index.php?site=news&$b\">$b</a> ";
          }
    
    
       }
    echo "</div>";
    ?> 
    <?php
    
    
    function date_mysql2german($date) {
        $d    =    explode("-",$date);
        
        return    sprintf("%02d.%02d.%04d", $d[2], $d[1], $d[0]);
    }
    require("mysql.php");
    $sql="SELECT * FROM news ORDER BY newsid DESC ";
    
    $ergebnis=@mysql_query($sql, $verb) or die ("Abfragefehler");
    
    while ($zeile = mysql_fetch_object($ergebnis))
      {
      
     $sql1 = 'SELECT news_id FROM news_comment WHERE news_id = ' . $zeile->newsid;
      $result = mysql_query($sql1);
      $comments = mysql_num_rows($result); 
      
    echo"  <table cellspacing='1' cellpadding='1' id='news'>";
    echo"   <tr>";
    echo"     <td id='news_Überschrift'>$zeile->titel</td>";
    echo"   </tr>";
    echo"   <tr>";
    echo"     <td>$zeile->text</td>";
    echo"   </tr>";
    echo"   <tr>";
    $expDate = explode(" ","$zeile->datum");
    echo"     <td><div align='left'>" . date_mysql2german($expDate[0]) . " $expDate[1] </div><div align='right'>(" . $comments . ")<a href='index.php?site=news_comment&id=".$zeile->newsid."'>Kommentar(e)</a> </div></td>";
    echo"   </tr>";
    echo" </table>";
    echo"<br>";
    }
    ?>

  • #2
    1. code umbrechen, wie soll man denn da den antworten-button finden!
    2. vielleicht hilft dir dieses tutorial

    gruß
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      So ich habe es soweit das ich Blättern kann,aber nun bekomme ich keine Daten Ausgabe mehr also keine Einträge wie Titel und Text gibt er nicht mehr aus :/

      PHP-Code:
      <?php
      function date_mysql2german($date) {
          
      $d    =    explode("-",$date);
          
          return    
      sprintf("%02d.%02d.%04d"$d[2], $d[1], $d[0]);
      }
      $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","root","") or die ("Keine Verbindung moeglich");
      mysql_select_db("tutorial") 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

      $abfrage1 "SELECT * FROM news LIMIT $start$eintraege_pro_seite";
      $ergebnis1 mysql_query($abfrage1);
      while(
      $row mysql_fetch_object($ergebnis1))
          {
         echo 
      $row->newsid."<br>"// Hier die Ausgabe der Einträge
         
      $sql1 'SELECT news_id FROM news_comment WHERE news_id = ' $zeile->newsid;
        
      $result mysql_query($sql1);
        
      $comments mysql_num_rows($result); 
        echo 
      "$zeile->titel";
      echo
      "  <table cellspacing='1' cellpadding='1' id='news'>";
      echo
      "   <tr>";
      echo
      "     <td id='news_Überschrift'>$zeile->titel</td>";
      echo
      "   </tr>";
      echo
      "   <tr>";
      echo
      "     <td>$zeile->text</td>";
      echo
      "   </tr>";
      echo
      "   <tr>";
      $expDate explode(" ","$zeile->datum");
      echo
      "     <td><div align='left'>" date_mysql2german($expDate[0]) . $expDate[1] </div><div align='right'>(" $comments ")<a href='index.php?site=news_comment&id=".$zeile->newsid."'>Kommentar(e)</a> </div></td>";
      echo
      "   </tr>";
      echo
      " </table>";
      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

      $result1 mysql_query("SELECT newsid FROM news");
      $menge mysql_num_rows($result1);

      //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=\"index.php?site=news&seite=$b\">$b</a> ";
            }


         }
         
      echo 
      "</div>";
      ?>

      Kommentar


      • #4
        der Fragesteller meint mehrere Foren mit seinem "Problem" beschäftigen zu müssen.

        Kommentar


        • #5
          Das ist erst das 2 Forum wo ich diese Frage stelle

          Kommentar


          • #6
            1. ich muss immer noch horizontal scrollen!
            2. hast du das tutorial gelesen?

            peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #7
              Ich danke euch ich habe mein Fehler selber gefunden. Danke Kropff

              Kann geschlossen werden

              Kommentar


              • #8
                sich nicht an die Regeln halten und dann noch nicht mal die Lösung posten, so nach dem Motto:
                "Hauptsache ICH hab jetzt die Lösung"

                Kommentar


                • #9
                  extra nur für KOala

                  PHP-Code:
                  <link href="css/v1.css" rel="stylesheet" type="text/css" />
                  <?php
                  function date_mysql2german($date) {
                      
                  $d    =    explode("-",$date);
                      
                      return    
                  sprintf("%02d.%02d.%04d"$d[2], $d[1], $d[0]);
                  }
                  $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

                  require ("mysql.php");


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

                  $abfrage1 "SELECT * FROM news  LIMIT $start$eintraege_pro_seite ";
                  $ergebnis1 mysql_query($abfrage1);
                  while(
                  $zeile mysql_fetch_object($ergebnis1))
                      {
                     
                  $sql1 'SELECT news_id FROM news_comment WHERE news_id = ' $zeile->newsid;
                    
                  $result mysql_query($sql1);
                    
                  $comments mysql_num_rows($result); 

                  echo
                  "  <table cellspacing='1' cellpadding='1' id='news'>";
                  echo
                  "   <tr>";
                  echo
                  "     <td id='news_Überschrift'>$zeile->titel</td>";
                  echo
                  "   </tr>";
                  echo
                  "   <tr>";
                  echo
                  "     <td>$zeile->text</td>";
                  echo
                  "   </tr>";
                  echo
                  "   <tr>";
                  $expDate explode(" ","$zeile->datum");
                  echo
                  "     <td><div align='left'>" date_mysql2german($expDate[0]) . $expDate[1] </div><div align='right'>(" $comments ")<a href='index.php?site=news_comment&id=".$zeile->newsid."'>Kommentar(e)</a> </div></td>";
                  echo
                  "   </tr>";
                  echo
                  " </table>";
                  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

                  $result1 mysql_query("SELECT newsid FROM news");
                  $menge mysql_num_rows($result1);

                  //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=\"index.php?site=news&seite=$b\">$b</a> ";
                        }


                     }
                     
                  echo 
                  "</div>";
                  ?>

                  Kommentar


                  • #10
                    Wenn du die erste Abfrage folgendermassen machst, kannst du dir die zweite ersparen:
                    Code:
                    $abfrage1 = "SELECT 
                    			n.newsid, 
                    			n.titel,
                    			n.text,
                    			n.datum,
                    			COUNT(k.id) AS comments
                    		FROM 
                    			news n
                    		LEFT JOIN 
                    			news_comment k USING(newsid)
                    		LIMIT 
                    			$start, $eintraege_pro_seite";
                    Gruss
                    H2O

                    Kommentar

                    Lädt...
                    X