erstes ergebnis(?) des resultsets anzeigen?

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

  • erstes ergebnis(?) des resultsets anzeigen?

    hallo mal wieder

    also entweder ich stell mich zu blöd an oder es ist doch ein wenig trickreicher:

    ich habe eine db abfrage und werf das ergebnis (oder hol´s) in ein assoz. array und möchte anschliessend aber nur das erste oder vielleicht erste und 2te ergebnis ausgeben lassen...mein code lautet so:

    [CODE]


    <?

    require("config.inc.php");

    $db = mysql_connect($dbhost, $dblogin, $dbpass);
    mysql_select_db($dbname,$db);

    $result = mysql_query("SELECT * FROM news ORDER by date DESC",$db);
    ?>

    <? while ($daten = mysql_fetch_array($result)) {
    ?>


    <? echo $daten[title];?><br><br>
    <? echo $daten[date];?><br>


    <? } ?>

    [CODE]

    möchte also aus der tabelle news das erste ergebnis (titel und datum) ausgeben lassen; so wie´s jetzt ist bekomme ich ja ALLE ergebnisse..

    vielen dank und gruesse

    andre

  • #2
    Code:
    <? //connect und query hier... ?>
    
    <? $daten = mysql_fetch_array($result))
    ?>
    
    <? echo $daten['title']; ?><br><br>
    <? echo $daten['date']; ?><br>

    CAT Music Files

    Kommentar


    • #3
      hmm? echt? und was ist mit dem 2ten "ergebnis"?

      gruss

      tm

      Kommentar


      • #4
        2.- n.tes Ergebnis

        Hi !

        Wenn du den Code von Sky einfach um ein while erweiterst, dann sollten alle Ergebnisse nacheinander ausgegeben werden.

        -----
        <? while ($daten = mysql_fetch_array($result))
        {
        ?>

        <? echo $daten['title']; ?><br><br>
        <? echo $daten['date']; ?><br>
        <? } ?>
        -----

        n0NAMe

        Kommentar


        • #5
          ähhmm...entweder ich kapier´s nicht oder ich hab die frage etwas missverstaendlich formuliert...mein scriptlet funktionier so schon, es werden alle ergebnisse / der GESAMTE inhalt ausgegeben, ich aber möchte nur datensatz nummer 1 und 2 oder von mir aus 5 ...wie limitiere ich denn das ? kann ich die ergebnisse im array nicht direkt ansprechen??

          vielen dank und gruesse

          andre

          Kommentar


          • #6
            noname scheint das problem nicht so ganz erfasst zu haben, da sein code bereits im ersten posting steht

            du kannst die ergebnisse nicht direkt ansprechen, da die von fetch_array zurückgegebenen Rows in einem eindimensionalen Array gespeichert werden. aber du könntest ja einem array date[] und einem array title[] diese werte zuweisen:

            Code:
            ccount=0;
            while ($daten = mysql_fetch_array($result)) {
              $title[ccount] = $daten['title'];
              $date[ccount]  = $daten['date']; 
              ccount++;
            }
            dann enthalten $title[0] und $date[0] den ersten datensatz, $title[1] und $date[1] den zweiten etc.
            wenn es für dich einfacher ist, kannst du ccount auch anfangs auf 1 setzen.

            eine andere lösung wäre:
            Code:
            <?
            $number = 4;   //4 Datensätze anzeigen
            for (i=1;i<=$number;i++) {
            $daten = mysql_fetch_array($result))
            ?>
            <? echo $daten['title']; ?><br><br>
            <? echo $daten['date']; ?><br>
            <? } ?>
            P.S.: Stell mal jemand das Parsing von vB-Commands in CODE-Blöcken aus! [ i ]

            [Editiert von Sky am 27-07-2001 um 10:39]

            CAT Music Files

            Kommentar


            • #7
              Du kannst das Ganze auch schon im MYSQL Query limitieren:

              $result = mysql_query("SELECT * FROM news ORDER by date DESC LIMIT $sovieledatensätzewieduwillst",$db);

              so einfach ist das!

              mfG
              Guido

              Kommentar


              • #8
                -G- genau das hat mich irritiert....danke erstmal für die antwort allerdings funktionierts bei mir noch nicht...
                in der ersten lösung bekomme ich nen parse error wg fehlendem semikolon und ich find´´s grad net und bei der zweiten einen parse error in der zeile 11 (ccount=0)

                Code:
                
                <?
                
                datenbankconnection zeugs halt
                
                $result = mysql_query("SELECT * FROM news ORDER by n_date DESC",$db);
                
                ccount=0;
                while ($daten = mysql_fetch_array($result)) {
                  $title[ccount] = $daten['n_title'];
                  $date[ccount]  = $daten['n_date'];
                  ccount++;
                }
                
                ?>
                
                <? echo $title[0] ; ?><br><br>
                <? echo $date[0]; ?><br>
                <? echo $title[1] ; ?><br><br>
                <? echo $date[1]; ?><br>
                vielleicht siehst du den fehler? sorry fürs nerven...

                gruss

                andre

                Kommentar


                • #9
                  ccount muß $ccount heissen.

                  und falls du nur ganz spezielle Datensätze aus dem Resultset holen willst, kannst du das auch mit

                  mysql_data_seek($result,10);

                  machen. Da hast du nun den 10 Resultset-Eintrag selektiert und kannst den mit dem nächsten mysql_fetch_array() auslesen. Mehr unter http://www.php.net/manual/de/functio...-data-seek.php
                  Ansonsten ist ein LIMIT x,y im Query ganz brauchbar (wie sprengstoff schon schreibt) (x ist die Startposition, y die Laufweite -> 0,10 würde die ersten 10 Einträge holen).

                  [Editiert von BrainBug am 27-07-2001 um 11:45]

                  Kommentar


                  • #10
                    naja.. wie gesagt, für tippfehler übernehme ich keine haftung *g* passiert mir immer mal wieder, dass ich das $ vergesse.

                    CAT Music Files

                    Kommentar


                    • #11
                      und wie immer bedanke ich mich ganz herzlich für die hilfe!
                      ihr seid halt doch die besten

                      danke )))

                      andre

                      Kommentar


                      • #12
                        grrr...jetzt kommt gar nix mehr..zu früh gefreut! danke auch an sprengstoff..ich hab seine antwort voll übersehen....kann allerdings sein dass es an der db selbst bzw deren inhalt jetzt liegt weil bei beiden jetzt gar nichts kommt....(auch kein fehler)

                        gruesse

                        andre

                        Kommentar

                        Lädt...
                        X