Avatar billede varst Praktikant
11. juli 2003 - 10:15 Der er 7 kommentarer og
1 løsning

Opdatering af database

Hej,

Jeg arbejder med en PostgreSQL database, og laver mine sider i PHP, hvilket fungere fint. Jeg oplever dog en del gange, at når jeg har skrevet en ny record ind i databasen og henter hele indholdet af den aktuelle tabel, så viser den ikke den nye record jeg lige har indtastet. Både indtastning og læsning foregår vha mine PHP sider i en browser. Hvis jeg så trykker Reload i browseren, så kommer den nye record med.

Er det et browser "problem", hvor den henter cachen istedet for den nye opdaterede side? I så fald, hvordan kommer jeg forbi det "problem"?

Min kode ser således ud:

if(ny record)
  INSERT ny record INTO aktuel tabel

SELECT * FROM aktuel tabel

n = 0
while(der er records i tabellen)
  skriv record[n] på skærmen
  n++

Kelvin :-)
Avatar billede martinbk Nybegynder
11. juli 2003 - 10:27 #1
prøv at indsætte denne header øverst i dit dokument FØR noget HTML

header("Cache-Control: no-cache, must-revalidate");
Avatar billede tipsen Nybegynder
11. juli 2003 - 12:19 #2
Tror mere det er spørgsmål om at PGSQL måske sætter forespørgslerne i en form for buffer...
Avatar billede martinbk Nybegynder
11. juli 2003 - 12:22 #3
ja det vil jeg ikke udtale mig om, har aldrig brudt mig særlig meget om PGSQL, og ved derfor ikke ret meget om det.... men synes nu det lyder somom browseren cacher indholdet af siden indtil han virkelig beder den hente det igen..but dunno :)
Avatar billede tipsen Nybegynder
11. juli 2003 - 13:01 #4
PGSQL er ganske udemærket - den kan alt det som MySQL mangler :-)

Mht browsercaching kan det vel nemt checkes ved sammen med posterne at udskrive aktuelt tidspunkt - så kan man se om det er en ny-genereret side eller en gammel side.
Avatar billede varst Praktikant
11. juli 2003 - 13:42 #5
Jeg prøver at kigge på holybull's svar i aften. Jeg mener selv at det er cachen der driller, men lad det komme an på en prøve.

PGSQL er en udemærket database, som tipsen så rigtigt er inde på, kan den alt det man mangler i MySQL. Dog er der er par enkelte minuser, såsom administration ad tabellerne. Du kan ikke sætte en ny kolonne ind midt i en tabel (man kan selvfølgelig sætte nye ind i enden af tabellen), eller fjerne en kolonne for den sags skyld. Men den avancerede brugerstyring på tabelniveau, triggers, egne sekvenser og indlejrede funktioner er nogle af de plusser der i mit tilfælde vejer meget tungt. Ud over at den også er gratis i kommercielle projekter. Men lad os nu ikke starte en en større dialog om hvilken database der er bedst, det afhænger tit af applikationen.
Avatar billede martinbk Nybegynder
11. juli 2003 - 13:55 #6
MySQL er ganske udemærket til de fleste's behov.. jeg har brugt Oracle databaser, og det kan (som tipsen udtrykte det) også alt det MySQL mangler, men er jo trodsalt også langtfra gratis
Avatar billede varst Praktikant
15. juli 2003 - 09:57 #7
Så er det godt vi har PostgreSQL, da den ligger tæt op af Oracle. Nok om det.

holybulls svar gav løsningen, så hvis du vil have nogle point, så må du generere et svar, ellers ved jeg ikke hvordan jeg skal give dig lidt point.
Avatar billede martinbk Nybegynder
16. juli 2003 - 04:09 #8
jamen svar da :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester