Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo zusammen!

Ich auf einer Webseite einen Button, die eine Javascript-Funktion ausführt.

Diese Javascript-Funktion greift Daten von einer Datenbank ab und gibt diese später per Alert aus.

Bei der ersten Ausführung der Funktion wird der aktuelle Wert aus der DB gelesen. Ändert sich aber nun der Wert in der DB und betätige ich nochmal den Button, wird wieder der gleiche Wert ausgegeben und nicht der aktuelle. Jemand eine Idee was man dagegen machen kann, bzw. wie sich dieses Problem lösen lässt? Erst nach löschen des Caches im IE wird der aktuelle Wert ausgegeben.

vor 4 Minuten schrieb murat1895:

Jemand eine Idee was man dagegen machen kann, bzw. wie sich dieses Problem lösen lässt? Erst nach löschen des Caches im IE wird der aktuelle Wert ausgegeben.

Richtig programmieren wäre ein Weg. Zeig doch mal deinen Code.

Ich vermute mal schwer, dass nicht das JS die Daten abruft (das geht afaik ohne Plugins (ActiveX oder so) auch gar nicht und wäre komplett unsicher, da man JS lesen kann und somit Passwörter, Datenbanknamen usw. alles sehen könnte), sondern dass sie von PHP aus an JS übergeben werden.

Die Frage wäre nun, was beim Aufruf des Buttons passiert.
Wird eine Variable ausgelesen, oder wirklich jedes Mal eine Datenbankverbindung aufgebaut und der Inhalt des entsprechenden Feldes an JS weitergereicht?
Ich tippe eher drauf, dass das es einmal aus der Datenbank ausgelesen und in einer Variablen gespeichert wird und du danach immer nur einfach diese Variable ausliest, statt wirklich auf die Datenbank zuzugreifen bei jedem Aufruf. Eventuell gibt es ja eine Überprüfung, ob die Variable bereits befüllt ist und nur falls nicht wird die Datenbankverbindung aufgebaut.

 

Um das wissen zu können, müssten wir aber den Code sehen. Alles andere sind nur Vermutungen.

 

  • Autor

Hier der Button:

<input type="button" id="btnTest" value="test" onclick="test('<?php echo URL?>','<?php echo $id?>')">

Hier die JS-Funktion

function test(url, id){
	$.get(url+'controller/methode/'+id, function (o){
		alert(o.Sitzplaetze);
	}, 'json');
}

Im Prinzip ist es das. Oder wollt ihr die Controller-Methode sowie dann die DB-Abfrage aus dem Model auch noch sehen, aber ich denke daran wird s nicht liegen, da die Ergebnisse ja richtig sind.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.