rap: PHP aktualisieren

Hallo,

ich habe ein PHP-Script programmiert, mit dem man Daten in eine mySQL-Tabelle hinzufügen und auslesen kann.
Nachdem ich einen  Eintrag hinzugefügt habe, wird dieser aber erst nach dem erneutem Aufruf des Scripts angezeigt...

Gibt es die Möglichkeit, die Seite mit dem klicken auf den Button zu aktualisieren?

  1. Hallo

    ich habe ein PHP-Script programmiert, mit dem man Daten in eine mySQL-Tabelle hinzufügen und auslesen kann.
    Nachdem ich einen  Eintrag hinzugefügt habe, wird dieser aber erst nach dem erneutem Aufruf des Scripts angezeigt...

    Gibt es die Möglichkeit, die Seite mit dem klicken auf den Button zu aktualisieren?

    welcher Button? Und ja, eine solche Möglichkeit gibt es, das gute bewährte EVA-Prinzip:

    Eingabe      (nehme die Benutzereingabe entgegen.)
    Verarbeitung (speichere den Neueintrag ab, lese den neuen Bestand aus.)
    Ausgabe      (gebe den neuen Bestand aus.)

    Ich sehe da kein unlösbares Problem.

    Freundliche Grüße

    Vinzenz

    1. Das Problem ist, dass ich vorher auslese und dann speichere (und das zu ändern wäre zu aufwendig).
      Ich meine den Formular-Button zum absenden der Daten...

      Ich suche eine PHP-Funktion, die das gleiche macht, wie der Aktualisierungsbutton im Browser...

      1. Hi!
        Warum? Ich verstehe Dein Problem nicht.

        Was ist so schwierig daran NACH dem Speichern Dein HTML zu produzieren? Dein Programm ist ja scheinbar in der 'verkehrten Reihenfolge' geschrieben. Warum? Was passiert beim aktualisieren mit den erwarteten Parametern? Wird alles nochmal gespeichert? Welchen Sinn haette das?

        1. Aufgrund meines Programmablaufs muss ich zuerst auslesen und dann kann ich erst Daten in die Datenbank schreiben...

          1. Aufgrund meines Programmablaufs muss ich zuerst auslesen und dann kann ich erst Daten in die Datenbank schreiben...

            Das klingt zwar etwas komisch, hindert dich aber ja nicht dran danach nochmal auszulesen.

            1. Hi,

              Aufgrund meines Programmablaufs muss ich zuerst auslesen und dann kann ich erst Daten in die Datenbank schreiben...

              Das klingt zwar etwas komisch,

              Nein, immer noch nach fauler Ausrede.

              hindert dich aber ja nicht dran danach nochmal auszulesen.

              Oder die bereits ausgelesenen Daten spaeter noch mal auszugeben.

              MfG ChrisB

              1. Nabend,

                Oder die bereits ausgelesenen Daten spaeter noch mal auszugeben.

                was nur minimal Sinn macht, wenn man die gespeicherten Daten haben moechte, die die ausgelesenen u.U. ueberschrieben haben. (Weshalb ich auch die Programmstruktur nicht so recht verstehe)

                1. Hi,

                  Oder die bereits ausgelesenen Daten spaeter noch mal auszugeben.

                  was nur minimal Sinn macht, wenn man die gespeicherten Daten haben moechte, die die ausgelesenen u.U. ueberschrieben haben. (Weshalb ich auch die Programmstruktur nicht so recht verstehe)

                  Es sind wohl, so wie ich's verstanden habe "bisherige Eintrage plus neuer Eintrag" gewuenscht.
                  Wenn bisherige bereits ausgelesen wurden, und neuer gerade erst gespeichert - dann liegen also alle benoetigten Daten vor.

                  MfG ChrisB

                  1. /\_/\  mau?
                    =(o.O)=
                    (Ö)O(Ö)

                    @rap: Jetzt hastes geschafft! Du hast das Kaetzchen verwirrt! Aeussere Dich mal zu deinem Problem!

                    1. @rap: Ich hab gestern abend noch eine Antowrt geschrieben, aber leider sortiert das Forum die nicht nach zeit und somit ist die nun irgendwo weiter oben. Mit diesem Link kannst du nach oben springen.

                      1. Hi,

                        @rap: Ich hab gestern abend noch eine Antowrt geschrieben, aber leider sortiert das Forum die nicht nach zeit

                        Natuerlich nicht, das waere bloedsinnig.

                        und somit ist die nun irgendwo weiter oben. Mit diesem Link kannst du nach oben springen.

                        Oh man ... solche Hinweise kannst du dir echt sparen, wenn du einfach annimmst, dass andere Leute vielleicht im Gegensatz zu dir mit dem Forum halbwegs umzugehen wissen.

                        Und du kannst mal nachlesen gehen, wenn's dich ueberfordert: </hilfe/bedienung.htm>

                        MfG ChrisB

                        1. Hundeplatz!

              2. Hello,

                Aufgrund meines Programmablaufs muss ich zuerst auslesen und dann kann ich erst Daten in die Datenbank schreiben...

                Das klingt zwar etwas komisch,

                Nein, immer noch nach fauler Ausrede.

                hindert dich aber ja nicht dran danach nochmal auszulesen.

                Oder die bereits ausgelesenen Daten spaeter noch mal auszugeben.

                Im HTTP-Client-Server-Umfeld:
                Daten holen
                Schreibzähler merken
                Daten anzeigen
                Sind es die richtigen?
                Daten verändern
                Rückschreibversuch vornehmen unter Berücksichtigung des Schreibzählers
                  Wenn er nicht mehr übereinstimmt, war jemand Anderes da und man muss sowieso nochmal auslesen
                  Wenn er noch übereinstimmt, beim Update Zähler um eins erhähen und Daten wegschreiben
                  Erfolgskontrolle (Update-Flag abfragen NICHT vergessen!)
                und falls gewünscht die Daten nochmals auslesen und anzeigen.

                Liebe Grüße

                Tom vom Berg

                --
                Nur selber lernen macht schlau
          2. Aufgrund meines Programmablaufs muss ich zuerst auslesen und dann kann ich erst Daten in die Datenbank schreiben...

            Du musst nicht vorher auslesen. Fang die Datei doch so an (kannst ja die entsprechenden Teile einfach ausschneiden und einfügen so kannst du den Aufbau schnell ändern)

              
            <?php  
            mysql_connect("localhost","root","passwort") or die  
            ("Keine Verbindung möglich");  
            mysql_select_db("datenbankName") or die  
            ("Die Datenbank existiert nicht");  
              
            $tabelle = "tabellenName";  
            $spalte1 = "user";  
              
            if(isset($_POST['abschicken']))  
            {  
                $eingabe = "INSERT INTO $tabelle ($spalte1) VALUES ('$_POST[username]')";  
                $eingeben = mysql_querry(eingabe) or die("Fehler<br>#".mysql_error()."#");  
            }  
              
            $ausgabe = "SELECT * FROM $tabelle";  
            $ausgeben = mysql_querry(ausgabe)or die("Fehler<br>#".mysql_error()."#");  
              
            while($row = mysql_fetch_assoc($ausgeben))  
            {  
                echo "tabelle oder wie auch immer du das ausgibst mit $row['username'] oder wie auch immer die Spalten heißen";  
            }  
            ?>  
            <form action="" method="POST">  
            <input type="text" name="username">  
            <input type="submit" value="Eintragen" name="abschicken">  
            </form>  
            
            

            Hoffe ich hab jetzt in der Eile nicht zu viele Fehler gemacht, aber so sollte der grobe aufbau aussehen.

          3. Hello,

            Aufgrund meines Programmablaufs muss ich zuerst auslesen und dann kann ich erst Daten in die Datenbank schreiben...

            Wie wärs mit einem vernünftigen Datenzustands-Diagramm, also einen Zeitdiagramm, in das die Arbeitsschreitte eingetragen werden?

            Um dorthin zu gelangen, kann man das berühmte und beliebte Kärtchenspiel machen. Nimm kleine Karteikarten (Zettelchen), setze Dich vor Deinen Bildschirm, stell Dir vor, was drausstehen müsste und mal es auf den Zettel. Nummer 1 drauf! Nun stell Dir Deine Bedienungshandlung vor, oben draufscheiben auf den nächsten Zettel (andere Farbe). Unten draufschreiben, was der Server zu tun hat mit der Eingabe. Nummer 2 drauf. Nächsten Zettel in Bildschirmfarbe. Stell dir die Antwort des Servers vor, die ja nun auf Deinem Bildschirm erscheinen müsste. Male Sie auf Deinen Zettel Nummer 3.

            Das Spiel betreibst Du so lange, bis alle Möglichkeiten auf Zetteln vorhanden sind, dann trittst Du mit einem Haufen Stecknadeln vor Deine frisch tapezierte Wohnzimmerwand und pinnst die Zettel dort wohlsortiert an. Nun klaust Du noch ein Knäuel mit roter Wolle aus Muttis Handarbeitskorb und verbindest die Zettel. Das Spinnennetz, das nun entsteht ist Dein Programmablaufplan. Du musst ihn ´nun nur noch codieren. Ist doch einfach, oder?

            Liebe Grüße

            Tom vom Berg

            --
            Nur selber lernen macht schlau
      2. Hi,

        Das Problem ist, dass ich vorher auslese und dann speichere (und das zu ändern wäre zu aufwendig).

        <gaehn> Immer diese faulen Ausreden, um auch den noch-so-daemlichsten Scriptaufbau zu rechtfertigen ... </gaehn>

        MfG ChrisB

        1. Hello,

          Das Problem ist, dass ich vorher auslese und dann speichere (und das zu ändern wäre zu aufwendig).

          Aufwändig wäre es, wenn Du wegen Faulheit mal irgendwann Deinen gesamten Datenbestand neu eintippen musst, weil irgendein "Hacker" fleißiger war als Du. Der hat dann vielleicht einfach nur 30 Sekunden länger nachgedacht als Du...

          Liebe Grüße

          Tom vom Berg

          --
          Nur selber lernen macht schlau
    2. Hello,

      Gibt es die Möglichkeit, die Seite mit dem klicken auf den Button zu aktualisieren?

      Erster Durchlauf:

      welcher Button?  -> keiner

      Eingabe      (nehme die Benutzereingabe entgegen.)
        -> keine
        Verarbeitung (speichere den Neueintrag ab, lese den neuen Bestand aus.)
        -> keine Datenveränderung
        -> nur Datenabfrage
        Ausgabe      (gebe den neuen Bestand aus.)
        -> na klar...

      zweiter Durchlauf:

      welcher Button?  -> save

      Eingabe      (nehme die Benutzereingabe entgegen.)
        -> Daten sind da und wurden auch überprüft auf Plausibilität und gegen Angreiffe gecheckt
        Verarbeitung (speichere den Neueintrag ab, lese den neuen Bestand aus.)
        -> Update durchführen
        -> Erfolg des Updates und erneute Datenabfrage
        Ausgabe      (gebe den neuen Bestand aus.)
        -> na klar...

      usw...

      Liebe Grüße

      Tom vom Berg

      --
      Nur selber lernen macht schlau
    3. Tach.

      Eingabe      (nehme die Benutzereingabe entgegen.)
      Verarbeitung (speichere den Neueintrag ab, lese den neuen Bestand aus.)
      Ausgabe      (gebe den neuen Bestand aus.)

      Ich sehe da kein unlösbares Problem.

      Ich auch nicht, nur entgleiste Grammatik. Nimm, lies, gib. Oder sollte dort implizit "ich" stehen?

      [quote:#120]

      --
      Once is a mistake, twice is Jazz.
  2. Hi!

    Warum gibst Du denn den neuen Eintrag nicht gleich nach der Aktualisierung aus? Im Moment verstehe ich dich so, dass deine Ausgabe erfolgt, bevor du die Eingabe verarbeitest. Macht nicht wirklich viel Sinn, wenn das so ist.