bestimmte Anzahl an Datensätze auslesen

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

  • bestimmte Anzahl an Datensätze auslesen

    Hallo,

    Ich greife über PHP mit SQL auf eine Datenbank zu. DIe Daten werden alle in einer HTML Tabelle ausgegeben. Da Es zuviele Datensätze (Zeilen) sind, werden nicht alle angezeigt ohne das ich scrollen muss.

    Jetzt will ich es verwirklichen, das es mir die z.b: ersten 10 Zeilen ausgibt, dann eine kurze Pause etwa 10 sekunden, und anschließend die Seite neu lädt und die nächsten Zehn ausgibt.

    Kennt jemand eine Möglichkeit wie ich das verwirklichen kann??
    Bin PHP Anfänger?

  • #2
    1. mit LIMIT
    2. ein kleines javascript
    Die wenigsten Fehltritte begeht man mit den Füssen.

    Kommentar


    • #3
      oder besser:

      2. mit meta-refresh

      Kommentar


      • #4
        irgendwie unterstützt sybase DB den Linit Befehl nicht???!
        bringt syntaxfelhler oder Zugruffsverletzung

        Gibbed andere Möglichkeiten???

        Kommentar


        • #5
          Ich würde alle in einem Rutsch aus der DB holen, jeweils 10 in einen Container packen, alle Container übereinander legen und der Seite ein JavaScript mitgeben, dass alle x Sekunden den nächsten Container sichtbar macht. Nachteil: Geht nur mit JavaScript und das Laden der Seite dauert länger. Vorteil: Keine weiteren Ladevorgänge und Server weniger belastet.

          Kommentar


          • #6
            Zehnerblöcke aus DB auslesen

            Hallo

            Ich muss die ersten 10 Datensätze (Zeilen)aus einer Datenbank auslesen.
            Alles Sätze bekomme ich mit:

            $ergebnis_tages_termine = odbc_do($verbindung,
            $sql_tages_termine);

            Davor steht natürlich eine SELECT abfrage.

            Ausgeben tue ich alles Satze über eine whileschleife:

            while(odbc_fetch_row($ergebnis_tages_termine))
            {
            $feld1 = odbc_result($ergebnis_tages_termine, "feld1");
            $feld2 = odbc_result($ergebnis_tages_termine, "feld2");
            $feld3 = odbc_result($ergebnis_tages_termine, "feld3");
            $feld4= odbc_result($ergebnis_tages_termine, "feld4");
            $feld5 = odbc_result($ergebnis_tages_termine, "feld5");
            $feld6 = odbc_result($ergebnis_tages_termine, "feld6");

            Hier wird noch die tabelle generiert...
            }

            Das funktiniert auch alles wunderbar.

            Mein Ziel ist es nun die ersten 10 Zeilen auszulesen, dann ein kurzer refresh dann die nächsten 10 und dann die nächsten 10, bis er am ende der db angelangt ist.
            Zugriff erfolgt auf eine Sybasedatenbank und da funktioniert der SQL Befehl "LIMIT" nicht, wie ist den da genau die Syntax??


            Hintergrund ist es das ich die Termine auf einem Plasmamonitor anzeigenlasse der von dem Rechner angesteuert wird auf dem ein Webserver läuft. Und der MOnitor kann halt nun mal nur ne 640 800 Auflösung.

            Ich wäre für schnelle Hilfe Dankbar.. weil mir läuft die Zeit davon.

            Kommentar


            • #7
              SET ROWCOUNT n; SELECT ...

              Kommentar


              • #8
                Original geschrieben von TobiaZ
                SET ROWCOUNT n; SELECT ...
                $sql_tages_termine = "SELECT RWV01_rstam.RWVrst_rbez1,RWVrbe_rnum, RWVrbe_vuhr, RWVrbe_buhr, RWVrbe_sembez,RWVrbe_vbez1,RWVrbe_vbez2
                FROM RWV01_rbel
                LEFT JOIN RWV01_rstam
                ON RWV01_rstam.RWVrst_rnum = RWV01_rbel.RWVrbe_rnum
                SET ROWCOUNT 10
                WHERE RWVrbe_rnum LIKE 'F-%'
                AND rwvrst_gebae = '1'
                AND RWVrbe_lfdnr = 1
                AND RWVrst_aendnr = 1
                AND RWVrbe_rdat= DATE(GETDATE())
                AND ( rwvrbe_anz_inf <> 'n'
                OR rwvrbe_anz_inf IS NULL)
                AND RWVrbe_buhr !< $aktzeit
                ORDER BY RWVrbe_vuhr ASC,RWVrbe_sembez ASC";


                Warning: SQL error: [Sybase][ODBC Driver][Adaptive Server Anywhere]Syntaxfehler oder Zugriffsverletzung: bei 'WHERE' in ... [WHERE] RWVrbe_rnum LIKE '..., SQL state 37000 in SQLExecDirect in e:\wampp1\htdocs\veranstaltung.php on line 32

                Kommentar


                • #9
                  SET ROWCOUNT 10 geht,

                  und wie schaff ich es jetzt die nächsten 10 auszugeben?????

                  Kommentar


                  • #10
                    SQL DB Zeiger

                    Hallo,

                    Wie kann ich einen "Zeiger" in die 10te Zeiler einer DB setzen und von da ab alle restlichen Zeilen auslesen?????????

                    geht das?????


                    DANKE

                    Kommentar


                    • #11
                      Re: SQL DB Zeiger

                      Das Doppelposten gewöhnst du dir bitte schleunigst ab!

                      *zusammenführ*, weil ganz offensichtlich noch immer selbes Thema.
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        Re: Re: SQL DB Zeiger

                        Original geschrieben von wahsaga
                        Das Doppelposten gewöhnst du dir bitte schleunigst ab!

                        *zusammenführ*, weil ganz offensichtlich noch immer selbes Thema.

                        Sorry

                        wusst ich nicht


                        Danke für den Hinweis

                        Kommentar


                        • #13
                          erläuterung

                          So nochmal genau beschrieben was ich genau will:

                          Ich lese Termine aus einer Sybase DB aus.Gebe sie Tabelarisch aus: Da ich maximal nur 10 Termine auf einer Seite anzeigenlassen kann, weil von der AUflösung her der Bildschirm nicht mehr anzeigt. Möchte ich es verwirklichen, das er mir die ersten 10 Zeilen ausgibt, dann vielleicht eine Kurze Pause, dann die nächsten Zehn ausgibt, vielleicht dann nochmal die nächsten Zehn, und dann den rest. Je nach dem viele Termine es gerade sind. es kann auch mal vorkommen das es nur z.b 4 Termine oder so sind.
                          Ist das technisch möglich??? Kann man das mit Arrays verwirklichen?
                          Wie
                          Ich freue mich über jede Hilfe!

                          DANKE im vorraus.

                          kebxm

                          Kommentar


                          • #14
                            Blätterfunktion ohne Limit

                            Hallo

                            ich will eine blätterfunktion machen, leider funktioniert bei odbc connection auf eine anywhere 7 sybase DB das Limit nicht.

                            Ich habe schon gehört das es mit TOP und SUBSELECT geht.

                            kann mir mal jemand nen Beispiel oder nen kleinen anreiser geben...

                            Aktuelle ABFRAGE:

                            SELECT RWV01_rstam.RWVrst_rbez1,RWVrbe_rnum, RWVrbe_vuhr, RWVrbe_buhr, RWVrbe_sembez,RWVrbe_vbez1,RWVrbe_vbez2
                            FROM RWV01_rbel
                            LEFT JOIN RWV01_rstam
                            ON RWV01_rstam.RWVrst_rnum = RWV01_rbel.RWVrbe_rnum
                            WHERE RWVrbe_rnum LIKE 'F-%'
                            AND rwvrst_gebae = '1'
                            AND RWVrbe_lfdnr = 1
                            AND RWVrst_aendnr = 1
                            AND RWVrbe_rdat= DATE(GETDATE())
                            AND ( rwvrbe_anz_inf <> 'n'
                            OR rwvrbe_anz_inf IS NULL)
                            AND RWVrbe_buhr !< $aktzeit
                            ORDER BY RWVrbe_vuhr ASC,RWVrbe_sembez ASC";


                            danke im vorraus

                            Kommentar


                            • #15
                              Re: Blätterfunktion ohne Limit

                              Was sagte ich dir heute morgen über das Doppelposten?
                              Ich habe jetzt drei Threads von dir zusammengeführt, die sich alle um das selbe Thema drehen.
                              Der nächste neue Thread zu diesem Thema wandert direkt auf den Müll!
                              I don't believe in rebirth. Actually, I never did in my whole lives.

                              Kommentar

                              Lädt...
                              X