Hvordan får jeg ændret fra type_id til navn?

Tags:    sql mysql php

Hejsa.

Nu er jeg ved at få grå hår.

Jeg har to tabeller:
Fold kodeboks ind/udSQL kode 


Fold kodeboks ind/udPHP kode 


Hvordan laver jeg en Join så jeg i stedet for type_id udskriver det ID der reelt står kan udskrive navnet Lønseddel?



9 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 9 karma
Sorter efter stemmer Sorter efter dato
Så hvis man er lidt firkantet så kan man sige at når man sige SELECT row AS name så laver du bare et nyt felt navn?


Hvis du forestiller dig resultatet som en tabel, så giver det fint mening.

Du har en eller flere tabel -> du laver en forspørgsel/transformering på den/dem -> du får en ny tabel.

En SELECT er ikke kun at hente data, men også en måde at opstille og definere dataene på.



Fold kodeboks ind/udSQL kode 


Cirka sådan der.



Indlæg senest redigeret d. 15.03.2012 01:42 af Bruger #17015
Du skriver SELECT ...., file_type.name AS file_type_name FROM ...

Så kan du tilgå den via nøglen ['file_type_name'] i dit array...


Forklaring af SQL strengen - den giver mening hvis man oversætter den:

SELECT row FROM tabel -> Tag række fra tabel ->
SELECT row as name FROM tabel -> Tag række som navn fra tabel



Indlæg senest redigeret d. 16.03.2012 10:56 af Bruger #17015
Ja den var jeg også kommet frem til.

Men kan på ingen måde få lortet til at virke.

Prøver den gerne af i phpmyadmin inden jeg smider den ind i php så jeg ikke skal til at debugge på sql delen



Indlæg senest redigeret d. 15.03.2012 02:47 af Bruger #15663
Du gør det forkert så - for der er ikke noget galt med den stump. :-)

Husker du at bruge tabel.kolonne notation?



Jeg er kommet frem til dette og det og også rigtig nok.

Men hvordan ser det så ud i min while?
Altså når jeg jeg skal udskrive navnet fra file_type.name
Fold kodeboks ind/udSQL kode 


Det giver mig følgende felter:
name description href month year created modified type_id hits name(denne er for type).

Nu er jeg så i tvivl om hvordan jeg skal konstruere det når jeg skal udskrive det igennem mit while($row = mysql_fetch_assoc($sql)) { }



Indlæg senest redigeret d. 15.03.2012 19:36 af Bruger #15663
Normalt så bruger den kun table. notation før felter hvis der er flere af samme navn. Du kan jo prøve at lave et print_r på det array du får ud af mysql_fetch... for at se efter selv.

Du kan også bruge følgende syntax for at navngive dem:
Fold kodeboks ind/udSQL kode 




Det forstår jeg ikke.

Kan godt forstå den med sql og navngivning, men det hjælper mig stadig ikke på hvordan jeg udskriver det. :S



Så hvis man er lidt firkantet så kan man sige at når man sige SELECT row AS name så laver du bare et nyt felt navn?



t