Tekniken bakom www.dano.se
Lite teknik och historia hur denna sida kom till och varför den fungerar som den gör. Ett av målet med sidan var att kunna tillverka sidor från vilken webbrowser som helst. Läs och se hur detta är möjligt.
<Föregåend sida 1 2 3 4 5 6 nästa sida>
Allt information lagras i en databas
Databasen är lagringsplatsen
Eftersom det webhotel som jag har en inbyggd MySQL-databas, beslöt jag tidigt att detta skall vara en av hörnstenarna för lagring av all information. Detta som du läser just nu finns i en tabell som heter "article", och i ett fält som heter "text". Dessutom har den ett unikt ID som har värdet 267. Blir inte detta lite väl styckat och malet? Nja, jag hade en ide om man skull kunna samla ihop ett antal artiklar under ett samligsbegrepp. Snabbt uppstod begreppet serier. En artikelserie helt enkelt. Denna artikelserie du läser just nu, den har nummer 14.
Så här ser tabellen ut där artiklar lagras
artID | update_time | cr_time | type | text | editor_userID |
ett unikt id för varje artikel |
tidstämpel för senast ändring | tidstämpel när denna post skapade |
Kategori |
Här finns själva artikeltext |
Vem skrev detta? |
och så här är tabellen för artikelbeskrivning
descr_artID | robots | arttext | tbd |
art_head_artID | marg |
samma nummer som artikel den beskriver (OBS! långt från alla artiklar har denna beskrivning) |
information om sökmotorer skall tillåtas att läsa sidan |
Här lagras själva titeln på artikeln |
tbd |
om artikeln skall ha något sidhuvud så lagras detta som artikel nummer |
information om vilka sidokolumner som skall vara aktiva |
Vidare finns tableller för artikelbeskrivning som tala om egenskaper för enskilda artiklar, tabeller för användare (som jag just nu är ensam om att ståta i), för keywords, bilder med mera. Kort sagt: det mesta låter sig lagras i tableller.
Jag använder den första artikeldatabasen på flera sätt. Först och främst för att lagra artiklar (tex denna som du just nu läser). Den lagrar också annat som visas på sidan. Informationen i höger och vänsterspalterna ligger i samma tabell. Om du ser i den andra tabellen, artikelbeskrivning, så finns ett fält som heter art_head_artID. Denna innehåller en pekare till vilken artikel som skall lagra eventuellt artikelhuvud. På detta sätt är det möjligt att återvinna redan inmatad text. En ändring i denna artikel slår givetvis på alla andra artiklar som använder detta artikel huvud.