Dynamisk indhold med Ajax og PHP

Tags:    ajax php jquery
Skrevet af Bruger #8773 @ 28.05.2012


Indhold til siden


Nu skal vi også have lavet et dokument der rent faktisk viser noget indhold. Til dette skal vi naturligvis bruge "index.php". Denne fil vil indeholde vores HTML kode og referencer til vores stylesheet (som ikke bliver ret omfattende i denne artikel) og vores javascript som altså bliver hjertet i vores tag-wall.

Vi starter lige med at lave vores header så vi har den del på plads:

Fold kodeboks ind/udHTML kode 


Der er intet nyt her - den eneste forskel er, at vi fremover vil holde alt vores javascript-kode i tagwall.js.

Det næste vi skal er, at få lavet en form hvorfra vi vil sende beskeder. Den skal indeholde et felt til et navn, et beskedfelt og en knap til at sende beskeden.

Da vi kommer til at håndtere alle forespørgsler ved hjælp af AJAX, undlader vi at putte vores elementer i en <form>.

Vores kode kommer altså til at se ud som følger:
Fold kodeboks ind/udHTML kode 


Igen vil jeg forsøge at holde denne artikel simpel, så jeg undlader at style noget som helst på siden - det må være op til jer selv at være kreative ;-)

Når vi har vores form, mangler vi nu blot det område hvori vi vil have vist alle vores tag-wall beskeder. Dette bruger vi blot en simpel <div> til under vores <h2>:

Fold kodeboks ind/udHTML kode 


For at have noget at arbejde med, indsætter vi med det samme noget dummy-data i databasen (brug eventuelt følgende):
Fold kodeboks ind/udSQL kode 


Hente indhold fra databasen


Nu kan vi begynde at hente indhold fra databasen. Til dette skal vi bruge en ny fil - content.php - hvori vi skal huske at inkludere vores config.php og vores db.class.php.
Derefter skal vi oprette et objekt af klassen Database som skal håndtere vores forespørgsler. Konstruktøren i klassen tager host, brugernavn, password og database-navn som argumenter i nævnte rækkefølge (husk at vi bruger vores definitioner fra config.php):
Fold kodeboks ind/udPHP kode 


Når vi har gjort dette, skal vi til at hente noget indhold fra vores database. Måden hvorpå vi skal hente indhold er, at vi modtager et timestamp for det seneste indlæg fra index.php via AJAX. Hvis der endnu ikke er nogle indlæg, sendes "0" som timestamp. Herefter skal vi hente alt indhold fra databasen som har et timestamp, der er større end det vi får sendt fra AJAX-kaldet. Disse resultater laver vi til JSON-format og udskriver det tilbage til index.php. Hvis der er sendt "0", sendes de seneste 5 indlæg blot tilbage til index.php.

Vi skal altså have det følgende kode til at klare dette:

Fold kodeboks ind/udPHP kode 




Hvad synes du om denne artikel? Giv din mening til kende ved at stemme via pilene til venstre og/eller lægge en kommentar herunder.

Del også gerne artiklen med dine Facebook venner:  

Kommentarer (4)

User
Bruger #15342 @ 18.07.13 18:02
Du mangler at afslutte index.html
User
Bruger #8773 @ 01.09.13 21:41
Michael:

Nu er artiklen ikke en begynder-artikel, så går ud fra at folk godt ved hvordan et simpelt html-dokument skal startes og sluttes :-)
User
Bruger #17818 @ 16.01.14 10:58
Super god artikel på trods af alderen på den :)

Et forslag kunne være at lave en opfølgning, hvor du går mere i dybden med nogle af de emner, hvor du skraber overfladen.
User
Bruger #22066 @ 15.05.18 19:14
hvor du skraber overfladen. skrotpræmie
Du skal være logget ind for at skrive en kommentar.
t