Avatar billede mostcrazy Nybegynder
17. oktober 2004 - 16:45 Der er 6 kommentarer og
1 løsning

Problemer med dobbeltudtræk

Heysa

jeg har et problem, jeg får et dobbeltudtræk med følgende kode.

$resultat = mysql_query("SELECT DISTINCT * FROM outdoor_articles, outdoor_prices WHERE outdoor_articles.articleMaker = '$maker' AND outdoor_articles.articleCategory = '$articleCategory'") or die(mysql_error());

med dobbeltudtræk mener jeg at hvis man ser på udtrækket så ser det således ud

a
b
a
b

hvor det skulle have været

a
b

Nogen der kan komme med lidt hjælp og evt. en go forklaring på problemet?
Avatar billede jakoba Nybegynder
17. oktober 2004 - 18:50 #1
Når du sådan henter fra to tabeller på een gang bør de 'hægtes sammen' på en eller anden måde. Som regel ved hjælp af et felt de har tilfælles.

Ellers kommer det du ser der.
De rækker i outdoor_artikles der passer til betingelsen:
    outdoor_articles.articleMaker = '$maker'      (den finder 2)
parres sammen med alle rækker i outdoor_prices ( og 2 af dem passer med
    outdoor_articles.articleCategory = '$articleCategory'  )
så alt ialt får du 4 rækker.

Mon ikke du kunne udvide med en check på at rækkerne fra de to tabeller har et felt tilfælles (som fx et artikelnummer)

    SELECT DISTINCT *
    FROM outdoor_articles, outdoor_prices
    WHERE outdoor_articles.artukelnr = outdoor_prices.artikelnr
      AND outdoor_articles.articleMaker = '$maker'
      AND outdoor_articles.articleCategory = '$articleCategory'

mvh JakobA
Avatar billede coderdk Praktikant
17. oktober 2004 - 18:51 #2
Desuden er DISTINCT et alias for DISTINCTROW - det betyder at den kun sorterer resultater fra der er nøjagtigt ens, felt for felt.
Avatar billede mostcrazy Nybegynder
21. oktober 2004 - 22:44 #3
takker :o)

mangler bare lige svar, for at lukke spørgsmålet
Avatar billede coderdk Praktikant
21. oktober 2004 - 23:47 #4
Det må være jakoba's :)
Avatar billede mostcrazy Nybegynder
26. december 2004 - 16:26 #5
hmm, ingen svar så er det svært at lukke her
Avatar billede coderdk Praktikant
26. december 2004 - 18:11 #6
mostcrazy, smid selv et svar og tag pointene :) Det må være fair :)
Avatar billede mostcrazy Nybegynder
26. december 2004 - 23:40 #7
det gør jeg så :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester