Jeg har brug for en smule hjælp, angående en sql sætning, håber i kan
hjælpe.
Jeg har et forum, hvor det er meningen, at man kun må se de posts som
tilhøre ens gruppe. Det vil sige, at hvis person 1 som høre til gruppe
2 poster, så kan personer 2 som høre til g3 ikke se postet.
I databasen har jeg delt forumet op i en tabel og brugerne i en anden
(plus en masse andre tabeller). Det vil sige, at jeg laver en
reference fra forum tabellen til bruger tabellen, så jeg nemt kan
hente de personlige data, som skal vises når et post bliver vist.
Min nuværende sql streng ser ud på følgende måde:
# SQL# $result = mysql_query( "SELECT id, subject, textarea,
user_info_id, time FROM forum WHERE answer_to = 0 ORDER BY id DESC",
$link );
Her henter den alle posts, lige meget hvilken gruppe man høre til. Jeg
ved at man via inner_join eller lignende kan flette disse sql strenge
sammen, så jeg kun får det ønskede resultat:
Her henter jeg indlæggets ejers gruppe info.
# SQL# $result[post] = mysql_query( "SELECT group FROM user_info WHERE
id = forum.user_info_id", $link );
Her henter jeg den besøgendes gruppe info.
# SQL# $result[user] = mysql_query( "SELECT group FROM user_info WHERE
id = $session[id]", $link );
I den første sql streng, skal jeg have fortalt den, at den kun må tage
de posts hvor brugerens gruppe (den person, som er igang med at
indlæse forumet) er lig med de posts hvor posts ejer stammer fra samme
gruppe.
Er der nogen, som kan komme løsningen og en forklaring, for jeg har
ikke fået det store ud af, at læse om join og inner_join. Evt hvis
nogen har en artikel på dansk, kunne det måske også hjælpe.
Venlig hilsen
Jakob Jensen
http://www.debatkat.dk
http://www.rodsen.dk