Script zu langsam?

Ich hab jetzt nicht den gesamten Thread durchgelesen. Aber das Problem scheint ja der Reload zu sein.
Unterbinde doch einfach mit JavaScript den Reload. Ich vermute, dass du einen Button "Abschicken" hast. Und wenn der meinetwegen geklickt wurde, dass du dann die gesamte Seite versteckst per JavaScript. Hatte das selbe Problem mit einer Galerie in der ziemlich große Bilder geladen wurden. s haben dann immer F5 gedrückt, weil sie dachten, dass nichts geladen wird.
Ich hatte dann ein JavaScript eingebaut, was mir nach dem Klick das ganze Formular versteckt und einne Statusbalken zeigt. Seit dem gibts keine Probleme mehr.
 
Ich weiß nich, ob ich jetzt ein dummen Vorschlag liefere, aber wenn die Flotte verschickt wurde (das Formular), dann leite doch nach der Verarbeitung mittels header('Location: url'); auf eine andere Seite um, dann bringt F5 auch nix...
 
Zuletzt bearbeitet:
mAu hat gesagt.:
Ich weiß nich, ob ich jetzt ein dummen vorschlag liefere, aber wenn die Flotte verschickt wurde (das Formular), dann leite doch nach der Verarbeitung mittels header('Location: url'); auf eine andere Seite um, dann bringt F5 auch nix...
Der Vorschlag ist keineswegs dumm, sondern meiner Meinung nach der einzig sinnvolle.
 
Dennis Wronka hat gesagt.:
Der Vorschlag ist keineswegs dumm, sondern meiner Meinung nach der einzig sinnvolle.

Allerdings hatte ich öfters mal Probleme mit dieser Variante, dort konnte man ganz einfach den Zurück-Button drücken und dann wieder die POST/GET -Daten nochmal senden nochmal sendet.
Kann vielleicht aber doch klappen, einfach mal ausprobieren.:)
 
Also ich hab mir das ganze nochmal durchgelesen....und bin zu der Erkenntnis gekommen, dass hier was nicht stimmt :-)

Ok...du prüfst zuerst per SELECT, ob die Schiffe da sind, aber tust du das auch beim UPDATE? ....da entsteht ja der eigentliche Fehler in der DB.

Wenn du nämlich einen Datensatz updatest, ist der solange gesperrt für andere Änderungen.
Also UPDATE mit Bedingung ausführen... wenn UPDATE aufgrund nicht erfüllter Bedingung fehlgeschlagen ist, brichst du ab, ansonsten trägst du halt die Meldung in die andere Tabelle ein.
 
Ich versuch erstmal den Vorschlag von mAu, danke - mal schaun ob es funktioniert :)
Und Sven: Die Inseldaten werden bei jeden Seitenaufruf geholt. Das heißt ich selectiere die nicht noch mal extra :)
 
Gali hat gesagt.:
Und Sven: Die Inseldaten werden bei jeden Seitenaufruf geholt. Das heißt ich selectiere die nicht noch mal extra :)

Darum gehts mir ja.... ein SELECT kann schon mal schneller sein als ein UPDATE...

Wenn du aber beim UPDATE die Bedingung prüfst, ob die Flotte überhaupt vorhanden ist, die da losgeschickt werden soll, dann kann sich nichts überschneiden, da UPDATEs nicht synchron laufen können.... solange ein Datensatz geupdatet wird, ist er eben wie erwähnt für Anderungen durch andere Queries gesperrt.
 
Zurück