Pagination, SQL auslesen, PHP

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

  • Pagination, SQL auslesen, PHP

    Hallo,

    ich wuerde gerne auf einer Seite eine gewisse Anzahl an Objekten anzeigen und bei mehreren als Zahl X auf einer zweiten Seite ausgeben.
    Jedoch weiss ich leider nicht wie ich diese zaehle und diese weiterreiche.

    Die Datanbank abfrage fuer die Objekte sieht wie folgt aus:

    SELECT
    `id_poll`,
    `id_profile`,
    `poll_question`,
    `Profiles`.*
    FROM `ProfilesPolls`
    LEFT JOIN `Profiles` ON
    `id_profile` = `Profiles`.`ID`
    WHERE
    `poll_status` = 'active'
    AND `poll_approval`
    ORDER BY `id_poll` DESC

    So werden die Daten geholt und mit weiterem Code auf der Seite ausgegeben.
    Wie kann ich dies nun so einstellen, dass mir nur 9 oder 12 angezeigt werden pro Seite und fuer den Rest eine weiter Seite geben wird?
    Ich denke das nennt sich Pagination oder so was...

    Könnte mir da jemand weiterhelfen?
    Vielen Dank!
    Gruss,
    Nick

  • #2
    1. Willkommen
    2. Regeln
    3. Suche nach Blättern
    4. SELECT ... LIMIT X,9

    Kommentar


    • #3
      Hi,
      vielen Dank fuer Deine Antwort, aber wenn ich wuesste wie ichs zusammenbauen kann oder mit den Dingern umgehen kann, wuerd ich nicht fragen, daher hab ich hier auf freundliche Hilfe gehofft

      Vielleicht hat ja einer was fuer mich....

      Gruss,
      Nick

      Kommentar


      • #4
        schau dir einfach mal das hier an.

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

        Kommentar


        • #5
          Du brauchst deine Query doch nur um das LIMIT zu erweitern...

          Kommentar


          • #6
            Ja, dann hab ich ja ein Limit auf zb 10...
            Aber dann muss ich ja auf eine weitere Seite um den Rest zu sehen...

            Kommentar


            • #7
              und darum solltest du dir meinen link oben ansehen. da wird das nämlich genau erklärt.

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

              Kommentar


              • #8
                ja aber ist es nicht genau das was du willst
                signed oder unsigned... das ist hier die Frage

                Kommentar


                • #9
                  Original geschrieben von case
                  ja aber ist es nicht genau das was du willst
                  Hi,
                  jein
                  Ich will die Ausgabe auf eine bestimmte Anzahl limitieren, und der rest soll anzahl entsprechend auf weitere Seiten verteilt werden...

                  Habe schon folgendes Script Link bekommen, jedoch weiss ich nicht wie ichs fuer meine obigen Daten anpassen soll:

                  <?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","Username","Passwort") or die ("Keine Verbindung moeglich");
                  mysql_select_db("Datenbank") or die ("Die Datenbank existiert nicht");


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

                  //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 Tabelle LIMIT $start, $eintraege_pro_seite";
                  $ergebnis = mysql_query($abfrage);
                  while($row = mysql_fetch_object($ergebnis))
                  {
                  echo $row->id."<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 id FROM Tabelle");
                  $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>";
                  ?>

                  Kommentar


                  • #10
                    http://php-resource.de/forum/misc.ph...on=bbcode#code

                    und den code einrücken, damit es leserlicher wird
                    http://peterkropff.de/site/php/einrueckungen.htm
                    Gruß
                    Uzu

                    private Homepage

                    Kommentar


                    • #11
                      Ja genau.

                      1. Code vernünftig darstellen, sonst ließt sich den hier wahrscheinlich niemand durch

                      2. Zu deinem Problem:

                      Original geschrieben von Kropff
                      und darum solltest du dir meinen link oben ansehen. da wird das nämlich genau erklärt.
                      signed oder unsigned... das ist hier die Frage

                      Kommentar


                      • #12
                        Ok, ich gebs auf... Das ist mir alles zu hoch.
                        Ich komme nicht aus dem Bereich und hab keinerlei Ahnung davon, was ich da lese ist fachchinesich fuer mich.
                        Ich komm aus einer ganz anderen Welt ohne Bits n Bytes und dachte ich koennte das schnell aendern oder jemand koennte mir genau sagen was und wo.

                        Hajo, dann lass ich es eben so stehen, aber danke fuer Eure Hilfe und Geduld!

                        Gruss,
                        Nick

                        Kommentar

                        Lädt...
                        X