/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
sammensmelte data fra to tabeller inden vi~
Fra : Jacob d'Andrade


Dato : 15-07-07 16:53

Hej Ng

Jeg er nybegynder i php/mysql og ved ik helt hvordan jeg lige får det her
til at virke...

Jeg har to tabeller... tabel1 indeholder to felter et id felt og et
kategorifelt, som indeholder et kategorinavn for hvert id, tabel2 indeholder
nogle enheder, hvor feltet kategori indeholder et tal som svarer til id
feltet i den anden tabel, men hvordan får jeg snørklet noget php script
sammen der erstatter id'et i kategorifeltet i tabel2 med navnefeltet fra
tabel1.

Håber det giver mening, og der er nogen der vil hjælpe lidt :-


Mvh Jacob



 
 
Thoams Sørensen (15-07-2007)
Kommentar
Fra : Thoams Sørensen


Dato : 15-07-07 17:56

Jacob d'Andrade skrev:
> Hej Ng
>
> Jeg er nybegynder i php/mysql og ved ik helt hvordan jeg lige får det her
> til at virke...
>
> Jeg har to tabeller... tabel1 indeholder to felter et id felt og et
> kategorifelt, som indeholder et kategorinavn for hvert id, tabel2 indeholder
> nogle enheder, hvor feltet kategori indeholder et tal som svarer til id
> feltet i den anden tabel, men hvordan får jeg snørklet noget php script
> sammen der erstatter id'et i kategorifeltet i tabel2 med navnefeltet fra
> tabel1.
>
> Håber det giver mening, og der er nogen der vil hjælpe lidt :-
>
>
Det smarteste er at lave det i SQL med noget ala.

select talbel1.navn, tabel2.type from tabel1 left join tabel2 on
tabel1.id = tabel2.id

dette er ikke testet, men hvis det ikke virker så søg på google efter
join eller left join.


Michael Haase (15-07-2007)
Kommentar
Fra : Michael Haase


Dato : 15-07-07 18:33

Thoams Sørensen skrev dette den 15-07-2007 18:55:
> Jacob d'Andrade skrev:
>> Hej Ng
>>
>> Jeg er nybegynder i php/mysql og ved ik helt hvordan jeg lige får det
>> her til at virke...
>>
>> Jeg har to tabeller... tabel1 indeholder to felter et id felt og et
>> kategorifelt, som indeholder et kategorinavn for hvert id, tabel2
>> indeholder nogle enheder, hvor feltet kategori indeholder et tal som
>> svarer til id feltet i den anden tabel, men hvordan får jeg snørklet
>> noget php script sammen der erstatter id'et i kategorifeltet i tabel2
>> med navnefeltet fra tabel1.
>>
>> Håber det giver mening, og der er nogen der vil hjælpe lidt :-
>>
>>
> Det smarteste er at lave det i SQL med noget ala.
>
> select talbel1.navn, tabel2.type from tabel1 left join tabel2 on
> tabel1.id = tabel2.id
>
> dette er ikke testet, men hvis det ikke virker så søg på google efter
> join eller left join.
>

Mon ikke det nærmere skal være:

select tabel2.enheder, tabel1.kategori from tabel2 left join tabel1 on
tabel1.kategori = tabel2.id

virker dog kun hvis der ikke er nogle felter i tabel2.kategori, som ikke
indeholder noget.

Hvis der er enheder, der ikke har en tilhørende kategori, skal det nok
være en left outer join i stedet.


--
Michael Haase

Jacob d'Andrade (16-07-2007)
Kommentar
Fra : Jacob d'Andrade


Dato : 16-07-07 10:36


"Michael Haase" <micvans@netscape.invalid> skrev i en meddelelse
news:5db52$469a5a5f$55187a6c$22498@news.arrownet.dk...

>
> Mon ikke det nærmere skal være:
>
> select tabel2.enheder, tabel1.kategori from tabel2 left join tabel1 on
> tabel1.kategori = tabel2.id
>
> virker dog kun hvis der ikke er nogle felter i tabel2.kategori, som ikke
> indeholder noget.
>
> Hvis der er enheder, der ikke har en tilhørende kategori, skal det nok
> være en left outer join i stedet.
>
>
> --
> Michael Haase

Hej igen

Jeg tror måske jeg har fået forklaret mig forkert så ... Jeres
eksempler, giver mig to kolonner ved siden af hinanden, og jeg er ude efter
at erstatte nogle id'er fra den ene tabel med et navn fra en anden tabel.

mine tabeller...

Tabel1:
+----+---------------+---------------------------------------------------------------------------------+
| id | kategori | besk
|
+----+---------------+---------------------------------------------------------------------------------+
| 16 | Motherboard | Denne kategori indeholder
Motherboards/Bundkort/Mainboards. |
| 17 | Optiske Drev | Denne kategori indeholder CD/CD-R/CD-RW/DVD-R/DVD-RW
Drev, b?de til IDE og SCSI |
| 18 | Indstiks kort | Denne kategori indeholder
PCI/ISA/AGP/PCI-E/PCI-Express kort. |
| 19 | Kabler | Denne kategori indeholder IDE/SCSI/Str?m/Netv?rk/USB
kabler. |
| 20 | Harddiske | Denne kategori indeholder IDE/SCSI/SATA og harddiske
til b?rbare computere. |
| 21 | RAM | Denne kategori indeholder alle former for hukommelse,
RAM/Hukommelseskort m.m |
| 22 | CPU | Denne kategori indeholder alle CPUer/Processorer
|
| 23 | CPU Coolers | Denne kategori indeholder alle k?lere til
CPUer/Processorer. |
| 24 | PSU | Denne kategori indeholder alle former for
str?mforsyninger. |
| 25 | Kabinetter | Denne kategori indeholder alle former for kabinetter.
|
| 26 | Diverse | Det der ikke er d?kket af andre kategorier.
|
+----+---------------+---------------------------------------------------------------------------------+

Tabel2:
+-----+--------------------+-----------------------------------------------------------------------------------------+-
| id | navn | besk
| kategori | antal | minfo |
+-----+--------------------+-----------------------------------------------------------------------------------------+
| 238 | Maxtor | DiamondMax Plus 8 ATA 133 40GB
| 20 | 3 | N/A
|
| 4 | AMD | Athlon - ??? mhz, ikke testet, Socket A
| 22 | 2 | N/A
|
| 3 | AMD | Duron - 850mhz, Socket A
| 22 | 1 | N/A
|
| 1 | AMD | Duron - 600 mhz, Socket A
| 22 | 1 | N/A
|
| 2 | AMD | Duron - 700mhz, Socket A
| 22 | 1 | N/A
|
| 134 | 3Com | Fast Etherlink, 3C905B-TX 10/100 Mbit TP PCI
Netkort | 18 | 1 | N/A
|

Jeg vil gerne erstatte "kategori-nummeret" i tabel2 med "kategori-navnet"
fra tabel1 inden jeg præsentere mit resultat på en webside... Håber det
giver mere mening.

Mvh Jacob




Michael Haase (16-07-2007)
Kommentar
Fra : Michael Haase


Dato : 16-07-07 17:59

Jacob d'Andrade skrev dette den 16-07-2007 11:36:

>
> Hej igen
>
> Jeg tror måske jeg har fået forklaret mig forkert så ... Jeres
> eksempler, giver mig to kolonner ved siden af hinanden, og jeg er ude efter
> at erstatte nogle id'er fra den ene tabel med et navn fra en anden tabel.
>
> mine tabeller...
>
> Tabel1:
> +----+---------------+---------------------------------------------------------------------------------+
> | id | kategori | besk
> |
> +----+---------------+---------------------------------------------------------------------------------+
> | 16 | Motherboard | Denne kategori indeholder
> Motherboards/Bundkort/Mainboards. |
> | 17 | Optiske Drev | Denne kategori indeholder CD/CD-R/CD-RW/DVD-R/DVD-RW
> Drev, b?de til IDE og SCSI |
> | 18 | Indstiks kort | Denne kategori indeholder
> PCI/ISA/AGP/PCI-E/PCI-Express kort. |
> | 19 | Kabler | Denne kategori indeholder IDE/SCSI/Str?m/Netv?rk/USB
> kabler. |
> | 20 | Harddiske | Denne kategori indeholder IDE/SCSI/SATA og harddiske
> til b?rbare computere. |
> | 21 | RAM | Denne kategori indeholder alle former for hukommelse,
> RAM/Hukommelseskort m.m |
> | 22 | CPU | Denne kategori indeholder alle CPUer/Processorer
> |
> | 23 | CPU Coolers | Denne kategori indeholder alle k?lere til
> CPUer/Processorer. |
> | 24 | PSU | Denne kategori indeholder alle former for
> str?mforsyninger. |
> | 25 | Kabinetter | Denne kategori indeholder alle former for kabinetter.
> |
> | 26 | Diverse | Det der ikke er d?kket af andre kategorier.
> |
> +----+---------------+---------------------------------------------------------------------------------+
>
> Tabel2:
> +-----+--------------------+-----------------------------------------------------------------------------------------+-
> | id | navn | besk
> | kategori | antal | minfo |
> +-----+--------------------+-----------------------------------------------------------------------------------------+
> | 238 | Maxtor | DiamondMax Plus 8 ATA 133 40GB
> | 20 | 3 | N/A
> |
> | 4 | AMD | Athlon - ??? mhz, ikke testet, Socket A
> | 22 | 2 | N/A
> |
> | 3 | AMD | Duron - 850mhz, Socket A
> | 22 | 1 | N/A
> |
> | 1 | AMD | Duron - 600 mhz, Socket A
> | 22 | 1 | N/A
> |
> | 2 | AMD | Duron - 700mhz, Socket A
> | 22 | 1 | N/A
> |
> | 134 | 3Com | Fast Etherlink, 3C905B-TX 10/100 Mbit TP PCI
> Netkort | 18 | 1 | N/A
> |
>
> Jeg vil gerne erstatte "kategori-nummeret" i tabel2 med "kategori-navnet"
> fra tabel1 inden jeg præsentere mit resultat på en webside... Håber det
> giver mere mening.
>

Så skulle det være noget a la

select tabel1.kategori, tabel2.navn, tabel2.besk, tabel2.antal,
tabel2.minfo from tabel2, tabel1 where tabel2.kategori = tabel1.id

--
Michael Haase

Jacob d'Andrade (16-07-2007)
Kommentar
Fra : Jacob d'Andrade


Dato : 16-07-07 19:42


"Michael Haase" <micvans@netscape.invalid> skrev i en meddelelse
news:c4629$469ba3c5$55187a01$15113@news.arrownet.dk...

>
> Så skulle det være noget a la
>
> select tabel1.kategori, tabel2.navn, tabel2.besk, tabel2.antal,
> tabel2.minfo from tabel2, tabel1 where tabel2.kategori = tabel1.id
>
> --
> Michael Haase

Kanon, det virker bare nu... takker mange gange.

Mvh Jacob



Christian Hansen (15-07-2007)
Kommentar
Fra : Christian Hansen


Dato : 15-07-07 22:34

Jacob d'Andrade wrote:
> Hej Ng
>
> Jeg er nybegynder i php/mysql og ved ik helt hvordan jeg lige får det her
> til at virke...
>
> Jeg har to tabeller... tabel1 indeholder to felter et id felt og et
> kategorifelt, som indeholder et kategorinavn for hvert id, tabel2 indeholder
> nogle enheder, hvor feltet kategori indeholder et tal som svarer til id
> feltet i den anden tabel, men hvordan får jeg snørklet noget php script
> sammen der erstatter id'et i kategorifeltet i tabel2 med navnefeltet fra
> tabel1.
>
> Håber det giver mening, og der er nogen der vil hjælpe lidt :-
>
>
> Mvh Jacob
>
>

select * from tabel1 t1, tabel2 t2 where t1.id = t2.kategori and t1.id =
N, hvor N er id på den ønskede kategori

Mvh Christian

Søg
Reklame
Statistik
Spørgsmål : 177461
Tips : 31964
Nyheder : 719565
Indlæg : 6408207
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste