Abfrage mit LIMIT an mehreren Stellen

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

  • Abfrage mit LIMIT an mehreren Stellen

    Hallo,

    wahrscheinlich eine für Euch leichte Frage:

    Möchte an 3 Stellen auf der Homepage eine Datenbankausgabe aus derselben Spalte (an 1. Stelle Datensatz 1, an 2. Stelle Datensatz 2, an 3. Stelle Datensatz 3-15) machen.

    hier mal der code:
    $ausgabe = "SELECT spalte FROM liste WHERE datum_von > NOW() ORDER BY datum_von";
    $suchergebnis = mysql_query ($ausgabe) OR die(mysql_error());

    while ($row = mysql_fetch_assoc ($suchergebnis))
    {
    echo "<div class=\"Stelle1\">\n";
    echo "HIER SOLL BEI STELLE 1 mit LIMIT (Datensatz 1 aus Spalte) AUSGEGEBEN WERDEN";
    echo " </div>\n";

    echo "<div class=\"Stelle2\">\n";
    echo "HIER SOLL BEI STELLE 2 mit LIMIT (Datensatz 2 aus Spalte) AUSGEGEBEN WERDEN";
    echo " </div>\n";

    echo "<div class=\"Stelle3\">\n";
    echo "HIER SOLL BEI STELLE 3 mit LIMIT (Datensätze 3-15 aus Spalte) AUSGEGEBEN WERDEN";
    echo " </div>\n";
    }

    ist das in der Art irgendwie möglich. ich weiß zwar, daß es sicher mit 3 SELECT-Abfragen und den dazugehörigen LIMIT's funktioniert, aber das ist ja nicht der Sinn der Sache ausserdem würde viel Code zusammenkommen, deswegen die Frage wie es mit obiger Methode geht. Muß ich hier LIMIT bereits in der Select-Abfrage für die 3 Stellen definieren (was wohl nicht geht) oder direkt bei jeder Ausgabe. Bitte um Hilfe.

    vielen dank!

  • #2
    schreib alles in ein array und werte das später über eine for-schleife aus:
    PHP-Code:
    while ($row mysql_fetch_assoc ($suchergebnis))
    {
       
    $list[] = $row;
    }
    for (
    $i 0$i count($list); $i++)
    {
       if (
    $i == 0) ...
       else if (
    $i == 1) ...
       else ...

    vom prinzip her. da brauchst du nur eine abfrage.

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

    Kommentar


    • #3
      Original geschrieben von Kropff
      schreib alles in ein array und werte das später über eine for-schleife aus:

      [/PHP]
      vom prinzip her. da brauchst du nur eine abfrage.

      gruß
      peter
      oh danke das versuch ich doch gleich mal

      Kommentar


      • #4
        Original geschrieben von ecruoserphp
        oh danke das versuch ich doch gleich mal
        du noch eine frage:
        das klappt schon und ich bekomme mit print_r diese ausgabe:
        Array ( [0] => Array ( [name] => Stefanie Kloss [datum_von] => 2007-02-01 [link] => www.stefanie.de ))

        gut und schön das will ich, aber wie geb ich das mit echo aus?

        while ($row = mysql_fetch_assoc ($suchergebnis))
        {
        $list[] = $row;

        }
        for ($i = 0; $i < count($list); $i++)
        {
        if ($i == 0) { echo $list[0]; } // für die 1. Stelle
        else if ($i == 1) { echo $list[1]; } //für die 2. Stelle
        else ...
        }

        ich weiß das ist blödsinn weil ja keine spalte im array definiert ist. habs noch nie gemacht, wie geht das?
        und wie geb ich datensätze von 3-15 auf einmal aus if ($i....?

        thx for help

        Kommentar


        • #5
          print_r sagt dir eigentlich wie du es machen sollst, aber ich bin mal nicht so
          PHP-Code:
          <?php
          echo list[0]['name'];
          ?>
          ist halt n zweidimensionales Array

          mfg
          Zuletzt geändert von krel; 31.01.2007, 16:17.

          Kommentar


          • #6
            PHP-Code:
            echo $list[$i]['name']; 
            ist am einfachsten

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

            Kommentar


            • #7
              Original geschrieben von krel
              print_r sagt dir eigentlich wie du es machen sollst, aber ich bin mal nicht so
              PHP-Code:
              <?php
              echo list[0]['name'];
              ?>
              ist halt n zweidimensionales Array

              mfg
              ähm ja dafür hab ich eigentlich print_r angewendet um zu sehen, was er da eigentlich ausgibt nur konnt ich mit dem nichts anfangen, weil ichs eben noch nicht gemacht hab. aber jetzt weiß ich es ja für die zukunft

              nur hast du eines überlesen: wie geb ich jetzt auf einmal 3-15 aus;
              echo list[4-16]['name']; natürlich wieder blödsinn, aber du sagst es mir bestimmt.

              vielen dank
              steffi

              Kommentar


              • #8
                PHP-Code:
                echo $list[$i]['name']; 
                lesen!

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

                Kommentar

                Lädt...
                X