Datenbankabfrage

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

  • Datenbankabfrage

    Hi,
    ich habe in meiner Datenbank 65 Datensätze.
    Möchte mir aber immer nur zehn anzeigen lassen.
    Der MySQL Befehl ist klar, aber wie generiere ich sowas

    1 2 3 4 5 6

    Kennt jemand ein Beispiel, wo man mal ein bisschen abschauen kann ?
    Manus manum lavat.

  • #2
    MIr wurde gesagt ich soll unter [COLOR=blue]Code-Schnipsel[/COLOR] gucken, aber daraus bin ich leider nicht schlau geworde, aber du vielleicht?

    Kommentar


    • #3
      Vielleicht kommst du damit klar.
      Ich habs getestet und schön dokumentiert.

      PHP-Code:
      /* Anzahl der Datensätze der Tabelle auslesen
      und in $total speichern. */
      $result mysql_query("SELECT count(*) FROM tabelle;");
      $tmpmysql_fetch_array($result);
      $total $tmp[0];
      unset(
      $tmp);
      mysql_free_result($result);

      /* Variablen $page und $limit initialisieren.
      $page ist die aktuelle Seitenzahl beginnend bei 1 ... 
      $limit ist die Anzahl der Datensätze, 
      die pro Seite angezeigt wird. */
      if(!$page$page 1;
      $limit 10;

      /* Die aktuellen Datensätze auslesen und sonstwas damit machen. */
      $result mysql_query("SELECT * FROM tabelle LIMIT ".($page-1)*$limit.", ".$limit);

      /* $seiten ist die Gesamtzahl der Seiten, die benötigt wird,
      um alle Datensätze anzuzeigen.
      ceil() rundet immer auf. */
      $seiten ceil($total/$limit);

      /* Alle Seiten werden durchgegangen. */
      for($i=1;$i<=$seiten;$i++) {

      /* Ist $i größer 1 und kleiner gleich $seiten
      wird ein Blank (leerzeichen) ausgegeben,
      um die Links voneinander zu trennen. */
      if($i>&& $i<=$seiten) echo " ";

      /* Ist die aktuelle Seite ungleich $i wird ein
      Link zu der Seite $i ausgegeben. */
      if($page<>$i) {
      echo 
      "<a href=\"script.php?page=$i\">$i</a>";
      }
      /* Sonst ist es die aktuelle Seite, auf der wir gerade sind
      und brauchen natürlich keinen Link. */
      else { echo "$i"; }


      Zuletzt geändert von Troublegum; 05.04.2002, 14:14.
      [color="#334D7B"]"Los, lass uns loslegen! Hm ? Quatschen können wir hinterher immer noch!"[/color]
      [color="#9C5245"]"Aber Bommel, wir können jetzt nicht bumsen. Wir müssen doch erst den Kindern - ... "[/color]
      [color="#334D7B"]"Ja ja ja. Du willst immer nur das Eine. Buchstabenzeigen, Buchstabenzeigen - meine Gefühle sind dir wohl scheißegal."[/color]

      © Harald Schmidt

      Kommentar


      • #4
        Dank ich werde es mal ausprobieren

        Kommentar


        • #5
          Hoert sich gut an, aber ich kann das nicht in Verbindung mit meinem Script bringen, da ich ein totaller noob bin
          Kannst du mir helfen??? Ich suchen nach lösung schon seit 3 Wochen.
          PHP-Code:
          <?php
          include("data.inc.php");
          mysql_connect ($dbserver,$dbuser,$dbpass);
          mysql_select_db ($dbname);

          $query"SELECT * FROM Links ORDER BY titel ASC  ";
          $result mysql_query("SELECT count(*) FROM Links;");

           while (
          $daten=mysql_fetch_array($result )) 
          {
          echo
          "<table width=\"470\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
            <tr>
              <td bgcolor=\"#CCCCCC\" ><a href=\"
          $daten[url]\" target=\"_blank\" class=\"linkt\"><b>$daten[titel]<b></a></td>
            </tr>
            <tr>
              <td bgcolor=\"#FFEECC\"> 
          $daten[beschr] <br> </td>
            </tr>
            <tr>
              <td>
                <table width=\"470\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" bgcolor=\"#CCCCCC\">
                  <tr>
                    <td><a href=\"#top\">| nach oben |</a> eingetragen von: <a href=\"mailto: 
          $daten[mail]\">email</a> </td>
                    <td width=\"80\" >&nbsp;</td>
                  </tr>
                </table>
              </td>
            </tr>
          </table><br>"
          ;
          }

              
          mysql_close();
          ?>

          Kommentar


          • #6
            Wo führst Du das denn aus?
            $query= "SELECT * FROM Links ORDER BY titel ASC ";
            Das muss in $result=mysql_query()
            Beantworte nie Threads mit mehr als 15 followups...
            Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

            Kommentar


            • #7
              PHP-Code:
              <?
              include("data.inc.php");
              mysql_connect ($dbserver,$dbuser,$dbpass);
              mysql_select_db ($dbname);

              /* Anzahl der Datensätze der Tabelle auslesen
              und in $total speichern. */
              $result = mysql_query("SELECT count(*) FROM Links;");
              $tmp    = mysql_fetch_array($result);
              $total  = $tmp[0];
              unset($tmp);
              mysql_free_result($result);

              /* Variablen $page und $limit initialisieren.
              $page ist die aktuelle Seitenzahl beginnend bei 1 ...  */
               
              if(!$page) $page = 1;
              $limit = 10; // Anzahl der Datensätze, die pro Seite angezeigt wird.

              /* Die aktuellen Datensätze auslesen und sonstwas damit machen. */
              $result = mysql_query("SELECT * FROM Links ORDER BY titel ASC LIMIT ".($page-1)*$limit.", ".$limit);

              /* $seiten ist die Gesamtzahl der Seiten, die benötigt wird,
              um alle Datensätze anzuzeigen.
              ceil() rundet immer auf. */
              $seiten = ceil($total/$limit);

              print "Seite: <b>$page</b> von $seiten<br><br>";
              echo "<table width=\"470\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">";
              while ($daten=mysql_fetch_array($result )){
                  echo "<tr><td bgcolor=\"#CCCCCC\" ><a href=\"$daten[url]\" target=\"_blank\" class=\"linkt\"><b>$daten[titel]</b></a></td></tr>
                   <tr><td bgcolor=\"#FFEECC\">$daten[beschr]</td></tr>
                   <tr><td>
                    <table width=\"470\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" bgcolor=\"#CCCCCC\">
                      <tr><td><a href=\"#top\">| nach oben |</a> eingetragen von: <a href=\"mailto: $daten[mail]\">email</a></td>
                      <td width=\"80\" >&nbsp;</td></tr>
                    </table>
                  </td></tr>";
              }
              echo "</table><br>";


              /* Alle Seiten werden durchgegangen. */
              for($i=1;$i<=$seiten;$i++) {

              /* Ist $i größer 1 und kleiner gleich $seiten
              wird ein Blank (leerzeichen) ausgegeben,
              um die Links voneinander zu trennen. */
              if($i>1 && $i<=$seiten) echo " ";

              /* Ist die aktuelle Seite ungleich $i wird ein
              Link zu der Seite $i ausgegeben. */
              if($page<>$i) {
              echo "<a href=\"$PHP_SELF?page=$i\">$i</a>";
              }
              /* Sonst ist es die aktuelle Seite, auf der wir gerade sind
              und brauchen natürlich keinen Link. */
              else { echo "$i"; }

              }
                  mysql_close();
              ?>

              Kommentar


              • #8
                Original geschrieben von archie
                Hoert sich gut an, aber ich kann das nicht in Verbindung mit
                meinem Script bringen, da ich ein totaller noob bin
                189 Beiträge und immer noch newbie? tststs ...
                mein Sport: mein Frühstück: meine Arbeit:

                Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                Kommentar


                • #9
                  Wow !!!
                  Ich wusste gar nicht dass, das Ding beantwortet wurde!
                  Danke HAND Das funktioniert wunderbar!!!

                  Kommentar

                  Lädt...
                  X