Hallo Johanna,
um den asynchronen Teil umsetzen zu können, musst Du Deine Seite zweiteilen. Wenn der Rahmen, also das, was von der SQL Query nicht beeinflusst wird, komplett statisch ist, kannst Du ihn ggf. sogar als reine HTML Seite ausliefern und brauchst kein PHP dafür.
Für die Preisliste hast Du nun die Wahl. Entweder du erzeugst ein HTML Fragment, das Du einfach als innerHTML in dein Rahmen-DIV hineinklebst, oder du erzeugst im PHP ein JSON-Objekt, das Du clientseitig in ein HTML-Fragment übersetzt (hier sind ein paar Tipps dazu). Das Ergebnis dieses preisliste.php rufst Du per Javascript periodisch mit fetch() (Infos dazu im MDN ab.
Rolf
--
Dosen sind silbern
Dosen sind silbern