login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Joins (Opgelost)

Offline Rens - 27/02/2007 23:27
Avatar van RensGouden medaille

Crew algemeen
Beste,

Ik heb de volgende SQL code:
  1. SELECT
  2. menu_cats.view AS mc_view,
  3. menu_cats.level AS mc_level,
  4. menu_cats.naam AS mc_naam,
  5. menu_links.view AS ml_view,
  6. menu_links.level AS ml_level,
  7. menu_links.link AS ml_link,
  8. menu_links.naam AS ml_naam
  9. FROM
  10. menu_links
  11. RIGHT JOIN
  12. menu_cats
  13. ON
  14. (menu_cats.id = menu_links.cat)

En ik zou iets als dit willen krijgen:
Citaat:
Menu
- Begin
- Contact

Maar ik krijg dit:
Citaat:
Menu
- Begin
Menu
- Contact


Kan iemand me vertellen wat ik verkeerd doe?
Ben nu net met joins begonnen, en snap het nog niet helemaal 

4 antwoorden

Gesponsorde links
Offline MindPrison - 27/02/2007 23:36
Avatar van MindPrison PHP gevorderde Ik zou alvast even sorteren op categorie id. Eigelijk kan dit toch perfect (beter zelf) zonder JOINS? Hier is het alvast nog met join:

  1. SELECT c.view AS mc_view, c.level AS mc_level, c.naam AS mc_naam, l.view AS ml_view, l.level AS ml_level, l.link AS ml_link, l.naam AS ml_naam FROM menu_links l RIGHT JOIN menu_cats c ON c.id = l.cat ORDER BY c.id ASC


Nu moet je alleen nog groeperen met behulp van PHP...
Offline webstab - 28/02/2007 13:57
Avatar van webstab PHP ver gevorderde Kan je er geen GROUP BY bij betrekken?
Offline Ibrahim - 28/02/2007 13:59
Avatar van Ibrahim PHP expert de join query is correct, alleen het weergeven in PHP gaat volgens mij verkeerd bij jou.

  1. while( ... )
  2. {
  3. echo $hoofd . '<br />';
  4. echo $sub . '<br />';
  5. }


zo doe jij het vast ?
Offline Rens - 28/02/2007 14:00 (laatste wijziging 28/02/2007 15:55)
Avatar van Rens Gouden medaille

Crew algemeen
Ja, zo deed ik het inderdaad.
Maar het probleem is opgelost, ben nu alleen niet thuis, dus ik kan niet laten zien welke code ik gebruikt heb.
Zal het er even bij zetten als ik thuis ben 

Bij deze mijn code:
  1. <?PHP
  2. $sQueryMenu = "
  3. SELECT
  4. menu_cats.view AS mc_view,
  5. menu_cats.level AS mc_level,
  6. menu_cats.naam AS mc_naam,
  7. menu_cats.id AS mc_id,
  8. menu_links.view AS ml_view,
  9. menu_links.level AS ml_level,
  10. menu_links.link AS ml_link,
  11. menu_links.naam AS ml_naam
  12. FROM
  13. menu_links, menu_cats
  14. WHERE
  15. menu_cats.id = menu_links.cat";
  16. $rResultMenu = $oMySQL->query($sQueryMenu);
  17. $iCatId = 0;
  18. while($aFetchMenu = MySQL_Fetch_Assoc($rResultMenu))
  19. {
  20. if($oToegang->check($aFetchMenu['mc_level'], $aFetchMenu['mc_view'], (IsSet($_SESSION['id']) ? $aLeden['level'] : 0)))
  21. {
  22. if($iCatId != $aFetchMenu['mc_id'])
  23. {
  24. if(IsSet($bNext) && $bNext)
  25. {
  26. $oTpl->newBlock("MENU_ROW_MARGIN");
  27. }
  28. $oTpl->newBlock("MENU");
  29. $oTpl->newBlock("MENU_HEAD");
  30. $oTpl->assign("MENU_HEAD_TITLE", $aFetchMenu['mc_naam']);
  31. $iCatId = $aFetchMenu['mc_id'];
  32. }
  33. if($oToegang->check($aFetchMenu['ml_level'], $aFetchMenu['ml_view'], (IsSet($_SESSION['id']) ? $aLeden['level'] : 0)))
  34. {
  35. $oTpl->newBlock("MENU_ROW");
  36. $oTpl->assign(array(
  37. "MENU_ROW_PAGE" => $aFetchMenu['ml_link'],
  38. "MENU_ROW_LINK" => $aFetchMenu['ml_naam']
  39. ));
  40. }
  41. }
  42. $bNext = true;
  43. }
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.232s