Ankündigung

Einklappen
Keine Ankündigung bisher.

Text löschen/überschreiben

Einklappen

Neue Werbung 2019

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

  • Text löschen/überschreiben

    Hi,

    Ich habe folgendes Problem:

    Ich habe ein Array, das sich laufend erweitert (neue Daten werden immer an 0te Position geschrieben) mit
    PHP-Code:
    array_unshift($ARRAY_Daten$buf); 
    Jetzt will ich diese Daten auf der Seite immer wieder neu Ausgeben, ohne aber die Seite neu zu laden.
    Mit dem Befehl Echo:
    PHP-Code:
    //Ausgabe
    for ($count 0$count count($ARRAY_Daten) ; $count++)
    {
        echo 
    $ARRAY_Daten[$count];
     } 
    werden die Daten einfach unter/neben die alten Daten geschrieben, was aber nicht der Sinn ist.

    Wie kann ich also den alten Text löschen, bzw Überschreiben? Gibt es eine Art Zeiger/Pointer für echo?

    Danke für jede Antwort
    Gruss
    delwin

  • #2
    Wie gibst du denn mit dem echo-Befehl etwas aus bzw. wie erweiterst du das Array, ohne die Seite neu zu laden?

    Kommentar


    • #3
      Hi vbinfo,

      Die neuen Daten kommen per TCP/IP Pakete, und werden mit socket ausgelesen und beschrieben.

      So vbinfo, jetzt habe ich dir die Anwendung erklärt, jetzt bist du dran mir zu erklären, wie ich den Text überschreiben kann

      Gruss
      delwin

      Kommentar


      • #4
        Garnicht.
        Was einmal ausgegeben wurde ist weg... Es sei denn du nustzt output-buffering: ob_start() ...dann kannst du mit ob_get_contents() und ob_end_clean() den Ausgabepuffer auslesen, leeren und dann wieder neu ausgeben.

        Aber: Solange kommt auch nichts beim Browser an.

        Insgesamt habe ich nicht ganz verstanden was du da genau machst - gib's doch einfach erst dann aus, wenn die Reihenfolge stimmt ...
        [URL="https://www.quizshow.io/"]Create your own quiz show.[/URL]

        Kommentar


        • #5
          Du könntest den Text mithilfe von JavaScript "überschreiben":

          function show() {
          var n ="<b>irgendein dicker Text</b>";
          document.getElementById('auswahl').innerHTML = n;
          }

          <div id=auswahl>
          Hier steht ein Text, bei Aufruf der Funktion wird er durch den String in "n" ersetzt.
          </div>

          Kommentar


          • #6
            Hi agrajag,
            merci für den Tipp, aber das ist nicht so ganz was ich suche.

            Ich fasse nochmals kurz meine Idee auf. Ich habe eine Webpage, die TCP/IP Daten (24h am Tag) empfängt (stochastisch). Nun will ich, dass jede neue Information ganz oben angegliedert ist, und vielleicht nur die 20 neusten Pakete angezeigt werden.

            Hi vbinfo,
            danke für die Antwort. Gerade beim duschen habe ich mir auch mal überleget, etwas mit Java-Scribt zu machen. Und schon hast du mir die Antwort geliefert DANKE.
            Ich werde es mir nachher mal (oder heute Abend) anschauen, bzw ausprobieren. Arbeite ich dann am besten mit einem Textfeld? hmm, muss mal schauen

            Okay, an beide nochmals Danke.
            Ich werde mich dann mal heute Abend in Java-Script versuchen.

            Gruss
            Delwin

            Kommentar


            • #7
              Einfach weil es mich persönlich interessiert:
              Könntest du den Code reinstellen, der die IP-Pakete erhält. Habe dies selbst noch nie umgesetzt und wüsste auch nicht wie ich es machen würde (abgesehen von einer Ajax Verwendung).

              Kommentar


              • #8
                Hoi vbinfo,

                leider hatte ich immer noch keine Zeit, aber das Prinzip wie man es umsetzten könnte ist mir bekannt.
                Doch wenn ich Variable in PHP habe, so kann ich diese ja nicht einfach bei JavaScript benutzen. hmm, da muss ich noch einwenig hirnen.

                Wegen den Sockets.
                PHP: Sockets - Manual
                In diesem Link steht einfach alles. Schaue die das erste und zweite Beispiel an. Das ist die Beste Beschreibung. Aus diesen Beispielen und den Befehlbeschreibungen habe ich viel lernen können.
                Hoffe du findest auch gefallen daran.
                Um zu schauen, ob ein Port offen ist, kannst du unter Linux folgenden Befehl verwenden
                Code:
                netstat -a -n | grep 1111
                (1111 = Port Nr)

                Gruss
                delwin

                Kommentar


                • #9
                  Wenn du es so ähnlich wie vbinfo vorgeschlagen hat machen willst, dann musst du eben immer wenn neue Daten reinkommen den Text für die javaScript-Funktion ausgeben. Also irgendwie so:
                  Code:
                  <div id="text"></div>
                  <script type="text/javascript">
                  function show(t)
                  {
                  document.getElementById('text').innerHTML = t;
                  }
                  <?php
                  while(sonstwas)
                  {
                  echo 'show("'.$newText.'"');
                  }
                  und darauf hoffen, dass der Browser das JavaScript sofort ausführt bzw. überhaupt ausführt solange die Seite noch nicht ganz geladen ist... und kein Timeout kommt...

                  Insgesamt klingt das für mich irgendwie so, als ob du einen ganz anderen Weg einschlagen solltest

                  Jenachdem was genau du da eigentlich machen willst bieten sich da verschiedene Ideen an. Wenn es dir reicht in einem bestimmten Zeitintervall die Infos neu zu holen, dann kannst du auf deiner HTML-Seite auch einen AJAX-Request einsetzen der sich die Infos holt...
                  [URL="https://www.quizshow.io/"]Create your own quiz show.[/URL]

                  Kommentar

                  Lädt...
                  X