Jag har tre tabeller (se bifogade filer) och med hjälp av dess vill jag få fram en rad i tbl_content.
Sql-frågan ska alltså få fram innehållet på en speciell sida beroende på vad det är för värden på "language" och "pageId" men något blir fel. När jag ställer den här frågan i phpmyadmin får jag fram alla poster (och flera gånger också):
$query = "SELECT tbl_content.content,tbl_content.contentid,tbl_pagecat.pageid FROM tbl_content,tbl_pagecat,tbl_language WHERE tbl_language.language= '$_GET[language]' AND tbl_pagecat.pageid = '$_GET[pageId]'";
Är det något fel i den eller är det inte så man ska göra när man ska plocka info från flera tabeller?
@ndersMedlem sedan juni 200032 969 inlägg
Är det något fel i den
Ja
eller är det inte så man ska göra när man ska plocka info från flera tabeller?
Nej, det är inte så man ska göra. Du måste ju i SQL-frågan ange hur de olika tabellerna ska kopplas ihop - du måste ju ha någon gemensam nämnare.
SELECT tbl_content.content, tbl_content.contentid, tbl_pagecat.pageid
FROM tbl_content
inner join tbl_pagecat on tbl_content.contentid = tbl_pagecat.contentid
inner join tbl_language on tbl_language.languageid = tbl_pagecat.languageid
WHERE tbl_language.language= 4711 AND tbl_pagecat.pageid = 4711
(Jag är inte helt säker på att allt hänger ihop riktigt - det är grymt jobbigt att titta på dina bilder. Men du kanske fattar principen)
Det fungerar! Jag hade kollat lite på JOIN men inte förstått hur man ska få till det med fler tabeller än två. Men nu fungerar det. Din sql-fråga var nästan rätt:
SELECT tbl_content.content, tbl_content.contentid, tbl_pagecat.pageid
FROM tbl_content
inner join tbl_pagecat on tbl_content.contentid = tbl_pagecat.contentid
inner join tbl_language on tbl_content.contentid = tbl_language.contentid
WHERE tbl_language.language= "sv" AND tbl_pagecat.pageid = "dl500"
Tack för snabb hjälp!