login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Joins

Offline Stijn1 - 10/02/2005 16:52 (laatste wijziging 10/02/2005 16:52)
Avatar van Stijn1Gouden medaille

PHP ver gevorderde
Omdat ik geen antwoord heb gevonden op wmcity, kom ik hier dan maar eens proberen.

Ik heb een probleem, ik heb deze query:
  1. SELECT
  2. language.text AS name,
  3. menu.link AS link,
  4. menu.extern AS extern,
  5. menu.level AS level
  6. FROM
  7. menu
  8. LEFT JOIN
  9. language
  10. ON (
  11. menu.name = language.name
  12. AND
  13. menu.module = language.module
  14. ) LEFT JOIN
  15. modules
  16. ON (
  17. menu.module = modules.name
  18. )


Deze werkt goed, alleen moet ik er nog inzetten, dat hij kijkt of menu.active gelijk is aan 1 en module.active gelijk is aan 1.

  1. SELECT
  2. language.text AS name,
  3. menu.link AS link,
  4. menu.extern AS extern,
  5. menu.level AS level
  6. FROM
  7. menu
  8. LEFT JOIN
  9. language
  10. ON (
  11. menu.name = language.name
  12. AND
  13. menu.module = language.module
  14. ) LEFT JOIN
  15. modules
  16. ON (
  17. menu.module = modules.name
  18. )
  19. WHERE
  20. menu.active = 1
  21. AND
  22. modules.active = 1


Alleen bij deze code krijg ik geen resultaat meer, en ja ik heb in de db nagekeken of alles op active stond...

Iig bedankt

6 antwoorden

Gesponsorde links
Offline Thomas - 30/11/1999 00:00
Avatar van Thomas Moderator Die AND tussen de twee LEFT JOINs moet weg anders denk ik.rnrnProbeer het zo eensrnrn[code]SELECTrnlanguage.text AS name, menu.link AS link,rnmenu.extern AS extern, menu.level AS levelrnFROM menurnLEFT JOIN language USING(name, module)rnLEFT JOIN modules ON menu.module = modules.namernWHERE menu.active = 1rnAND modules.active = 1[code]
Offline Stijn1 - 30/11/1999 00:00
Avatar van Stijn1 Gouden medaille

PHP ver gevorderde
Hmm nee, maar als ik dus die where weer weghaal, dan werkt het weer wel... Grrr kt probleem. Iig thx!
Offline Thomas - 30/11/1999 00:00
Avatar van Thomas Moderator Hmm... Je krijgt dus geen error, maar je krijgt gewoon geen resultaten Van wat voor type zijn de 'active'-kolommen
Offline Stijn1 - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van Stijn1 Gouden medaille

PHP ver gevorderde
ENUM('0','1') En nee ik krijg geen fouten, maar ik test het gewoon in phpmyadmin... Echt gek dit...rnrnEdit Ok 1 ding opgelost (door dat enum en die quotes, thx daarvoor p) Nu moet alleen modules.active nog gechekt worden, hij staat er nu wel in maar hij doet niets...rnrn[code]SELECTrnlanguage.text AS name, menu.link AS link,rnmenu.extern AS extern, menu.level AS levelrnFROM menurnLEFT JOIN language USING(name, module)rnLEFT JOIN modules ON menu.module = modules.name AND modules.active = '1'rnWHERE menu.active = '1'[code]rndie AND modules.active = '1' werkt dus niet, iemand een ID
Offline Thomas - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van Thomas Moderator Dat AND modules.active = '1'-deel moet in je WHERE-stuk staan - het is geen onderdeel van een JOIN-conditie (zou geen onderdeel mogen zijn van je JOIN-conditie) - het is een eigenschap van je resultaat-set.rnrnDusrn[code]SELECTrnlanguage.text AS name, menu.link AS link,rnmenu.extern AS extern, menu.level AS levelrnFROM menurnLEFT JOIN language USING(name, module)rnLEFT JOIN modules ON menu.module = modules.namernWHERE menu.active = '1'rnAND modules.active = '1'[code]
Offline Stijn1 - 30/11/1999 00:00
Avatar van Stijn1 Gouden medaille

PHP ver gevorderde
Hmm srry, vergeten te vermelden dat ik dat al geprobeert had, het werkt dus niet p Ik snap het probleem echt niet, maar als ik modules.active nu op 0 of op 1 zet, dat maakt geen verschil... Iig al bedankt!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.249s