Ankündigung

Einklappen
Keine Ankündigung bisher.

MYSQLI immer nur den ältesten Eintrag updaten, rest unverändert lassen bis update ?

Einklappen

Neue Werbung 2019

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

  • MYSQLI immer nur den ältesten Eintrag updaten, rest unverändert lassen bis update ?

    Hallo miteinander,
    ich stehe seit gestern auf einem Schlauch, und habe das Gefühl, durch das ganze Starren auf den Code gar nicht mehr klar denken zu können.
    Daher die Hoffnung, dass mir hier jemand behilflich sein kann.

    Ich lasse auf einer Seite (load.php) maximal 5 Einträge aus meiner Datenbank anzeigen. Diese Seite lädt alle 20 Sekunden automatisch neu.
    Auf der index.php werden neue Einträge erstellt.

    Die Ausgangsposition auf der load.php sind 5 bereits erstellte Einträge. Nun möchte ich, dass immer, wenn ein neuer Eintrag hinzugefügt wird, der älteste der 5 Einträge aus der Datenbank geupdated wird, und somit beim Reload auf der 1. Position erscheint.

    Beispiel:

    Auf der load.php werden 5 Einträge angezeigt:

    Hallo1
    Hallo2
    Hallo3
    Hallo4
    Hallo5

    Auf der index.php werden 2 neue Einträge erstellt. Jetzt möchte ich, dass Hallo1+Hallo 2 nach der Reihenfolge geupdated werden. Die anderen Einträge bleiben unverändert. Bis sie geupdated werden.

    Ich hoffe, dass das so weit verständlich war, und ich würde mich über Hilfe freuen.
    Soweit habe ich schon einiges durch, an sich sollte mein Projekt nicht die Arbeit sein, nur eben das lediglich einen Eintrag nach dem anderen updaten und die anderen unverändert lassen, bereitet mir Probleme.

    Danke!

  • #2
    Auf der index.php werden 2 neue Einträge erstellt. Jetzt möchte ich, dass Hallo1+Hallo 2 nach der Reihenfolge geupdated werden. Die anderen Einträge bleiben unverändert. Bis sie geupdated werden.
    Meinst du wirklich, dass die beiden Datensätze ein Update erhalten sollen?
    Oder sollen einfach immer die 5 neuesten Datensätze angezeigt werden?

    Wie genau soll das Update aussehen?
    [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
    [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

    Kommentar


    • #3
      Wie genau ich den Topf voll Gold finde, ist mir egal.

      Auf der load.php werden ja immer 5 Einträge angezeigt, das sind Bilder. Wie wäre es möglich, NUR nach einem Eintrag den ältesten Datenbankeintrag zu updaten, und nicht alle 5, obwohl alle 5 stetig angezeigt werden?

      Auf der load.php

      Bild 1, 2, 3, 4, 5

      Bild 6+7 werden hinzugefügt

      load.php

      Bild 6,7, 3, 4, 5

      Kommentar


      • #4
        Hast du eine Spalte wo du automatisch das Datum eintragen lässt?
        Dann ist es einfach.
        Füge 2 neue hinzu und lasse dir nur die neuesten 5 anzeigen.

        MySQL
        Code:
        SELECT `id`, `image`, `date` FROM `myTable` ORDER BY `date` DESC LIMIT 5;
        So kannst du auch die ältesten löschen, einfach nach Datum sortieren und mit LIMIT die Anzahl begrenzen.

        Ein Update scheint mir hier gar nicht vonnöten zu sein, oder aber du brauchst keine DB wenn du nur 5 Datensätze hast.

        In PHP hat das aber nichts zu suchen und fortgeschritten ist das schon gar nicht, eher Grundlagenniveau.

        Kommentar


        • #5
          Zitat von protestix Beitrag anzeigen
          Hast du eine Spalte wo du automatisch das Datum eintragen lässt?
          Dann ist es einfach.
          Füge 2 neue hinzu und lasse dir nur die neuesten 5 anzeigen.

          MySQL
          Code:
          SELECT `id`, `image`, `date` FROM `myTable` ORDER BY `date` DESC LIMIT 5;
          So kannst du auch die ältesten löschen, einfach nach Datum sortieren und mit LIMIT die Anzahl begrenzen.

          Ein Update scheint mir hier gar nicht vonnöten zu sein, oder aber du brauchst keine DB wenn du nur 5 Datensätze hast.

          In PHP hat das aber nichts zu suchen und fortgeschritten ist das schon gar nicht, eher Grundlagenniveau.
          Danke für deine Antwort. Mag im ersten Moment alles echt easy klingen, ist es allerdings nicht- deswegen habe ich das im Bereich Fortgeschritten gepostet.
          Deine Methode sorgt leider auch nur dafür, dass 5 alte gegen 5 neue Bilder ausgetauscht werden.

          Allerdings gibt es nicht immer sofort 5 neue Bilder, und aktualisiert wird dennoch alle 20 Sekunden. Deswegen möchte ich ja auch einzelnd austauschen können.

          Angezeigt werden:

          Bild 1,2,3,4,5

          Neu kommen: Bild 6,7

          Nächste Anzeige, weil Reload: Bild 6,7,3,4,5

          So leicht ist das gar nicht. Für mich

          Kommentar


          • #6
            Zitat von cron Beitrag anzeigen

            Deine Methode sorgt leider auch nur dafür, dass 5 alte gegen 5 neue Bilder ausgetauscht werden.
            Nein, nichts verstanden.

            Also hier noch mal
            Du hast 5 Bilder inkl. Datum in der Tabelle
            2 Neue kommen hinzu.
            aus 7 Bildern zeigst du weiterhin die 5 neuesten an.
            2 Bilder kommen hinzu.
            jetzt hast du 9 Bilder, aus denen zeigst du immer noch mit dem selben Script die 5 neuesten Bilder an, daran ändert sich auch nichts wenn dort 5000 Datensätze drin stehen.

            Ob du irgendwann die ältesten löscht oder drin lässt ist schon fast egal bei einer Datenbank, aber wenn du willst kannst auch wenn du 2 neue hochlädst 2 alte Datensätze löschen.
            Bitte sprich nicht von Bildern wenn du Datensätze meinst.

            Ein aktualisieren ist hier also gar nicht nötig.






            Kommentar


            • #7
              Zitat von protestix Beitrag anzeigen
              Nein, nichts verstanden.

              Also hier noch mal
              Du hast 5 Bilder inkl. Datum in der Tabelle
              2 Neue kommen hinzu.
              aus 7 Bildern zeigst du weiterhin die 5 neuesten an.
              2 Bilder kommen hinzu.
              jetzt hast du 9 Bilder, aus denen zeigst du immer noch mit dem selben Script die 5 neuesten Bilder an, daran ändert sich auch nichts wenn dort 5000 Datensätze drin stehen.

              Ob du irgendwann die ältesten löscht oder drin lässt ist schon fast egal bei einer Datenbank, aber wenn du willst kannst auch wenn du 2 neue hochlädst 2 alte Datensätze löschen.
              Bitte sprich nicht von Bildern wenn du Datensätze meinst.

              Ein aktualisieren ist hier also gar nicht nötig.





              Du hast recht. Ich habe mich, wie so oft heute, versehen. Ich kann mich nur tausendfach bedanken. Liegt wohl an meiner Matschigkeit heute, das Wetter. Danke!

              Kommentar

              Lädt...
              X