Aktualisierung der Seite
Juliane
- php
Hallo,
ich lese aus einer Datenbank Daten aus und gebe diese in Form einer While-Schleife in Form einer Tabelle aus.
In einer Spalte der Tabelle befindet sich in jeder Zeile eine Auswahlliste. Hiermit lese ich über einen Button die Daten ein und speicher sie wieder in der DB. Allerdings bekomme ich erst du wiederholtest drücken des Buttons die "Aktualisierung" angezeigt oder muss im Browser auf Aktualisieren klicken.
Habe mir überlegt, eine Abfrage zu machen, ob der Button geklickt wurde und wenn ja, dann einen refresh nach vielleicht einer sekunde zu machen.
<meta http-equiv="refresh" content="5; URL=<?print $PHP_SELF;?>">
Wie kann ich diese Abfrage realisieren? Bzw. gibt es andere Möglichkeiten?
Hello,
Du gibst Daten aus einer Datenbank in einer Tabelle aus
In der Tabelle hast Du in einer Spalte in jeder Zeile ein Selectfeld
Hat jedes Selectfeld ein eigenes Form und einen eigenen Submit-Button?
In einer Spalte der Tabelle befindet sich in jeder Zeile eine Auswahlliste. Hiermit lese ich über einen Button die Daten ein und speicher sie wieder in der DB.
Meisnt Du, dass Du über die Selectbox einen Wert auswählst und dann den Submitbutton drückst?
Oder hast Du noch was eingebaut, wovon Du uns noch nichts erzählt hast?
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Also, ich habe einen Button um alle Selectboxen abzufragen!
Hat jedes Selectfeld ein eigenes Form und einen eigenen Submit-Button?
-> Nein, eine Form und ein Submit-Button!
Meisnt Du, dass Du über die Selectbox einen Wert auswählst und dann den Submitbutton drückst?
Richtig, ich kann bei mehreren Selectboxen einen neuen Wert auswählen oder nur bei einer. Und dann drücke ich den einen Submit-Button.
Oder hast Du noch was eingebaut, wovon Du uns noch nichts erzählt hast?
Ähm nicht das ich wüsste..
Ich habe das mittlerweile so realisiert:
if(isset($HTTP_POST_VARS['Button']) && $HTTP_POST_VARS['Button'] == 'Änderungen übernehmen') {
?> <meta http-equiv="refresh" content="0.1; URL=<?print $PHP_SELF;?>">; <?
}
Wenn ich nun den Button mit der Maus drücke, dann aktualisiert er die Seite nach 0.1 sekunden. Wunderbar! Aber das Prob liegt jetzt da, zu gwährleisten, dass ich auch über die Enter-Taste bestätigen kann. Verstehst du was ich meine?
Habe soeben eine Lösung gefunden!
Danke trotzdem.!
Hello,
Habe soeben eine Lösung gefunden!
Dann wäre es jetzt nett, wenn Du die hier kurz vorstellst.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Habe im Prinzip genau das gemacht, was du mir anschließend noch vorgeschlagen hast und zwar einfach nen
<input type="hidden" name="Button" value="Änderungen übernehmen">
eingefügt und mit abgefragt! :)
Hello,
Ich habe das mittlerweile so realisiert:
if(isset($HTTP_POST_VARS['Button']) && $HTTP_POST_VARS['Button'] == 'Änderungen übernehmen') {
?> <meta http-equiv="refresh" content="0.1; URL=<?print $PHP_SELF;?>">; <?
}
$HTTP_POST_VARS ist veraltet.
http://de.php.net/variables.predefined
Wenn ich nun den Button mit der Maus drücke, dann aktualisiert er die Seite nach 0.1 sekunden.
Wer aktualisiert die Seite?
Ich gehe davon aus, dass Du einen POST an das zugehörige Script auf dem Server auslöst, und dieser dann die Parameter auswertet und eine Antwort schickt. Das wäre dann der gewünschte "Refresh"
Wunderbar! Aber das Prob liegt jetzt da, zu gwährleisten, dass ich auch über die Enter-Taste bestätigen kann. Verstehst du was ich meine?
Das ist browserspezifisch, ob bei [Return] ein Button-Paramter mitgesendet wird und welcher es ist ( der erste, der letzte, keiner )
Bau eine Hidden-Variable in das Form ein.
Frag erst nach dem Button, wenn der nicht da ist, nach der Hidden-Var
Wenn die dann existiert, muss der Post (wahrscheinlich) über das Form gekommen sein, und kann kein Erstaufruf des Scripts gewesen sein (Bedenke: Alles isr fälschbar).
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom