PHP aktualisieren
rap
- php
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?
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
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...
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?
Aufgrund meines Programmablaufs muss ich zuerst auslesen und dann kann ich erst Daten in die Datenbank schreiben...
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.
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
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)
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
/\_/\ mau?
=(o.O)=
(Ö)O(Ö)
@rap: Jetzt hastes geschafft! Du hast das Kaetzchen verwirrt! Aeussere Dich mal zu deinem Problem!
@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.
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
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
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.
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
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
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
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
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?
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.