mySQL-Einträge auslesen und ausgeben

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

  • mySQL-Einträge auslesen und ausgeben

    Hallo,

    ich möchte von den Daten in einer DB bestimmte Einträge auslesen und teilweise ausgeben.
    Also z.B.
    Datum | Name | Email | Homepage
    sind in der Datenbank vorhanden und ich möchte nun alle Einträge mit Datum 5.5.2001 ausgeben aber nur Name und Email. Und davon auch nur max. 10 Einträge pro Seite.

    Wie kann ich das machen?


    Kaffi
    Errare humanum est

    W32.Schmalle.H@mm

  • #2
    Also, ich hoffe mal das wird net zu lang:

    <?
    $table=""; // Name deiner Tabelle
    $datum="05.05.2001";

    //Verbindung aufbauen
    $verbindung = mysql_connect ($host, $user, $pass);
    mysql_select_db($db,$verbindung);

    //select anweisung
    $sql="SELECT name, email FROM $table WHERE datum=$datum";

    mysql("$db","$sql");

    while($arr=mysql_fetch_array($res)) {
    $name=$arr[name];
    $email=$arr[email];

    echo "$name, $email <br>";
    }

    mysql_close ($verbindung);

    ?>

    So das wars, also ich hoffe das geht bei dir.

    by sattler

    Kommentar


    • #3
      Danke es funktioniert soweit.

      Jetzt habe ich nur noch das Problem, wie kann ich die Anzahl der Einträge beschränken... also Eintrag 1- 10 anzeigen oder 11 - 20 ... u.s.w



      Kaffi
      Errare humanum est

      W32.Schmalle.H@mm

      Kommentar


      • #4
        Sorry, hab ich vergessen

        $entries_per_page=9; // wieviel einträge pro seite
        $j=0; // zähler

        if (!isset($entry)) {
        $entry = 0;
        }

        $next_page = $entry+$entries_per_page;
        $prev_page = $entry-$entries_per_page;

        $verbindung = mysql_connect ($host, $user, $pass);
        mysql_select_db($db,$verbindung);

        $table=""; // der name der tabelle

        $every="SELECT * FROM $table";
        $result=mysql_query($every,$verbindung);
        while($all=mysql_fetch_array($result)) {
        $j++;
        }
        $total=$j;

        $sql="SELECT name, email FROM $table WHERE datum=$datum limit $entry,$entries_per_page";

        if ($prev_page >= 0) {
        echo "<a href=\"index.php?entry=$prev_page\">Vorherige Seite</a>";
        }
        if ($next_page < $total) {
        echo " &nbsp;&nbsp;<a href=\"index.php?entry=$next_page\">Nächste Seite</a>";
        }
        ?>

        Alles klar? musste jetzt nur noch richtig einbaun.

        by sattler

        [Editiert von sattler am 08-05-2001 um 10:50]

        Kommentar


        • #5
          Vielen Dank.

          Funktioniert jetzt so wie ichs wollte.

          Kaffi
          Errare humanum est

          W32.Schmalle.H@mm

          Kommentar


          • #6
            Es gibt doch noch ein Problem.

            Wenn möchte auch das die Namen in alphabetischer Reihenfolge ausgegeben werden.
            Wie kann ich dies nun sortieren?


            Kaffi
            Errare humanum est

            W32.Schmalle.H@mm

            Kommentar


            • #7
              vorneweg: das mit dem Zählen geht auch einfacher:
              statt
              Code:
              $every="SELECT * FROM $table"; 
              $result=mysql_query($every,$verbindung); 
              while($all=mysql_fetch_array($result)) { 
              $j++; 
              } 
              $total=$j;
              einfach
              Code:
              $every="SELECT count(*) FROM $table"; 
              $result=mysql_query($every,$verbindung); 
              $all=mysql_fetch_row($result)
              $total=$j[0];
              jetzt zum Sortieren:
              $sql="SELECT name, email FROM $table WHERE datum=$datum order by name limit $entry,$entries_per_page";
              Möchtest du absteigen sortieren, hängst du an "order by name" einfach noch ein "desc" an
              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


              • #8


                Hi

                sattler

                was du geschrieben hast kann nicht funktionieren

                nach dem LIMIT

                muß $entry und $entries_per_page

                gleichzeitig erhöt werden (sonst wird der range immer kleiner)

                also

                $entries_limit2 = $entries_per_page + $entry;



                $sql="SELECT name, email FROM $table WHERE datum=$datum limit $entry,$entries_limit2";



                leider bin ich noch anfänger
                ich hoffe ich habe geholfen

                bis später chris







                Kommentar


                • #9
                  Hi,

                  ich habe ein neues Problem...
                  Oben hat alles funktioniert - Danke

                  Das neue Problem dessen Ausgangspunkt folgender ist:
                  Ich habe in einer DB ein Feld mit einem Zahlen-Wert.
                  Ich weiß nicht wie viele Datensätze vorhanden sind.
                  So und nun möchte ich alle Werte auslesen, addieren
                  und die Summe ausgeben.

                  Nun habe ich schon einiges Ausprobiert mit for, while,
                  etc. Ich denke aber, dass ich die ganze Sache schon im
                  Ansatz falsch anpacke.

                  Kann mir da jmd. weiterhelfen?

                  Danke schon mal


                  Kaffi
                  Errare humanum est

                  W32.Schmalle.H@mm

                  Kommentar

                  Lädt...
                  X