Lærer stadig noe nytt!
Posted in Hverdag og fest, Programmering on 06/16/2009 03:44 pm by admin
Resultat av å koble sammen tabeller i en MySQL database
En lærer så lenge en lever!
Jeg har laget websider med bruk av PHP programmering og MySQL database. Men helt fram til i dag har det vært med enkel spørring til en og en tabell. Det har fungert, men har jo sine begrensninger.
I dag lærte jeg å koble sammen to tabeller og hente ut ønsket informasjon fra begge tabellene.
Jeg har en tabell som heter authors der jeg lagrer navn og e-post adresser. Så har jeg en annen tabell som heter news der selve nyhetsartikkelen er lagret.
Jeg ønsket å lage et program som hentet ut alle artikler skrevet av en bestemt forfatter. For å gjøre dette benyttet jeg forfatterens ID i tabellen authors, og holdt den sammen med fremmednøkkelen, som også er forfatter ID i tabellen news.
Resultatet ble at jeg hentet ut navnet på forfatter fra tabellen authors og overskriften fra tabellen news!
Koden for dette er veldig enkel:
$sql = “SELECT author, headline FROM authors, news WHERE news.aid = authors.aid AND authors.aid=’$aid’”;
Variabelen $aid er hentet ut via en spørring som ble foretatt på grunnlag av hva som ble skrevet inn i et skjemafelt.
Det som gjør dette til en “revolusjon” i min programmering, er at jeg nå kan lage langt mer effektive nettsteder! I eksemplet som er nevnt her, er forfatter data og epost lagret i en egen database tabell som heter authors. Det som er det store med relasjonsdatabaser er at en enkelt kan relateres informasjon i en tabell, til informasjon i en annen tabell. Her gjelder det de artikler som denne forfatteren skriver, som ved hjelp av en “fremmed nøkkel” i tabellen news knytter artikler til forfatteres ID fra tabellen authors.
På denne måten er det enkelt å f.eks. oppdatere data om forfatteren, som f.eks. forfatterens e-post adresse. En oppdaterer da kun dataene i tabellen authors, og tabellen news som som inneholder artikler skrevet av denne forfatteren, blir automatisk oppdatert med riktig e-post adresse pga relasjonen til tabellen authors.
Vel, dette var nok en nerde nyhet. Men programmering er min favoritt hobby og hadde det ikke vært for mitt kristne kall til å be for andre og forkynne evangeliet om Jesus, så skulle jeg satset alt på å bli profesjonell programmerer!




