Många webbplatser består ju av en "framsida" som alla besökare ser och en "baksida" som man uppdaterar webbplatsen från. Om man inte själv ska underhålla texter m.m. på webbplatsen och den som ska göra det inte är speciellt bra på att hantera .html eller .asp-filer, då kan man ju lägga in den mesta informationen på webbplatsen såsom små texter, telefonnummer m.m. i en databas. Min fråga är, vilket är det bästa sättet att plocka fram dessa uppgifter och skriva ut dem på sidan? Typ göra en koppling till databasen och tilldela en massa variabler med värden och sedan stänga kopplingen. Och sedan skriver man bara ut värdet i variablerna där det behövs?
Om man ska använda dessa variabler på flera olika sidor måste man väl göra kopplingen på varje sida? Eller med en include? Har jag fel?
För att eliminera risken att använda SSI (inckuderingsfiler), så skulle jag rekommendera att du använde procedurer. På en sida, säg att den heter proc.asp, så samlar du kod i procedurer, så här:
Sub startsida()
'anslut till databas, skriv ut info m.m.
End Sub
Sub liten_ruta()
'plocka ut info ur databas
End Sub
Där du sedan vill skriva ut informationen som man får ur procedure liten_ruta så skriver du
<%
liten_ruta()
%>
på den platsen.
Saker som för övrigt är att tänka på är att:
- alltid stänga databasobjekt så fort man inte använder dem
- gärna använda GetRows(), kan ge prestandaökningar
- skriva Option Explicit högst upp på dina sidor, så att variabler måste deklareras med Dim.
- Använd inte SQL-frågor som
SELECT [b]*[/b] FROM tabell
utan skriv hellre fältnamnen i stället för jokertecknet:
SELECT falt1, falt2 FROM tabell
- I stället för SSI kan man använda Server.Execute på sina ställen. Betydligt mindre prestandaslukande, exempelvis om man visar information beroende på vad som finns i querystringen i adressen; exempelvis default.asp?cat=info i stället för /info/default.asp. Hoppas du förstår. ;)
Det var lite tips jag hade att dela med mig av, andra kommer säkert med mer vettiga grejor. :D