8 Konvertere Mysql data til JSON

8 Konvertere Mysql data til JSON
av Ole Petter den 2. november 2019
Sist oppdatert: 28 november, 2019 kl 23:16For å kunne bruke innhold fra en Mysql-database på ulike plattformer er det en god ide å konvertere databasetabellene til JSON-format.
Dette er et format som støttes av de fleste programmeringsspråk, og gjør innholdet mer fleksibelt, hvis man for eksempel vil lage en mobilapplikasjon hvor dataene lagres i en MySQL-database.
I dette eksempelet brukes samme databasen som i forrige innlegg, «ajax_posts».
Les innlegget her: https://smorasstats.com/PORTFOLIO/nyheter/2019/10/26/7-like-innlegg/
Contents
1 Konvertere tabellen posts til JSON-format
Jeg lager en ny undermappe kalt «json», i hovedmappen. Inni denne mappen lager jeg en fil kalt «posts.php», hvor jeg lager en spørring mot databasen og tabellen «posts».

Nå er tabellen posts konvertert til JSON-format, og kan mottas ved hjelp av en XMLHttp-request().
For å konvertere dataene til JSON-format brukes en innebygget PHP-funksjon kalt json_encode(). Denne konverterer «$rows», altså radene i tabellen posts til JSON.
Jeg lager en ny fil kalt test.php i samme mappe som posts.php, altså json-mappen.

Filen test.php, hvor jeg henter dataene fra posts.php ved hjelp av en XMLHttpRequest(). Dataene lagres i en variabel kalt «data», og hentes ved å «parse» innholdet i filen posts.php, altså (this.response).
Deretter brukes en forEach-løkke på dataen som mottas slik at alle innleggene fra tabellen vises.
For å sjekke om requesten var vellykket, inspiserer jeg siden test.php i konsollet.

2 Vise innleggene på siden test.php
For å vise innleggene på siden, lager jeg en <div> med id=»post» nesten øverst på siden, og bruker denne til å endre innholdet i test.php.

For henholdsvis tittelen og innholdet lager jeg en ny header (h1) og paragraf (p) og lagrer disse i en variabel kalt «const h1» og «const p».
Deretter setter jeg tekstinnholdet til dataen jeg henter fra posts.php for tittel og innhold, til «h1.textContent = post.title» og «p.textContent = post.content».
Deretter bruker jeg postContainer.appendChild til å vise henholdsvis tittelen og innholdet i hvert innlegg.
En rask kikk på test.php viser at fremgangsmåten lyktes:

Lag et login-system i php - innlegg - progitek.no/innlegg
[…] 8 Konvertere Mysql data til JSON […]