Hejsan!
Jag har en liten fråga.
Hur skall man gå tillväga för att hämta information från alla tabeller i databasen?
Alltså om jag har en tabell som heter Namn och en som heter Efternamn. Hur skall jag då kunna skriva ut både efternamn samt förnamn utan att skapa en connection till varje enskild tabell?
Kanske dåligt förklarat men fråga om ni inte fattar.
Det kanske är lite onödigt att ha tabeller för varje egenskap hos någonting exempelvis förnamn, efternamn osv. dessa kanske kan ligga i samma tabell.. Iallafall. Det räcker ju med en sql-fråga för att hämta precis vilken information du vill, oavsett hur många tabeller du har i din DB: "select namn.*, efternamn.*, annantabell.* from namn, efternamn, annantabell" och så kanske nån eller några wheresatser eller joinsatser för att koppla ihop tabellerna.
Alltså, detta var ju bara ett exempel.
Jag har en databas som håller reda på medlemmar i en community i en tabell. En som håller reda på forumet i en tabell samt en som håller reda på alla meddelanden som skickas mellan medlemmarna.
Det jag vill göra är:
När en medlem med admin rättigheter kommer till forumet (admins har en tvåa i kolumnen status) så skall en låsnings funktion för en tråd visas.
Om tråden är låst har den värde 1.
En olåst tråd skall man kunna se länken man låser tråden med. Men när tråden är låst skall en länk som det står lås upp på istället visas.
Eftersom statusen hos en medlem ligger i tabellen users och statusen för tråden som visar om den är låst eller inte ligger i tabellen forum.
jag antar att endast medlemmen med adminrättigheter skall kunna låsa och låsa upp tråden..
"SELECT forum.status, users.Status, users.Status
FROM forum, users
WHERE users.Status=2"
med detta får du ju fram statusen på alla trådar samt endast de medlemmar som har adminrättigheter.
Däremot är det väl onödigt att hämta statusen för en tråd om medlemmen inte har adminrättigheter. För isåfall skall väl ingenting visas iallafall.. Eller hänger dessa två tabeller ihop på något vis. Att exempelvis någon speciell medlem har några speciella rättigheter till vissa trådar eller liknande??
Hmmm jag vet faktist inte vad du menar.
Men så här är det.
I tabellen users har du då användarnamn mm. + status.
Om man har status 1 eller 2 (2:an har fler rättigheter än 1:an, och vanliga medlemmar har värde 0). ska man kunna få länkar som ger en möjligheter att bl.a. låsa i forumet, se IP nummer mm.
De med status 0 kan inte administrerar forumet. De med status 1 kan låsa samt låsa upp trådar. De med 2 kan även dom låsa samt låsa upp trådar. Men dom kan även ta bort trådar.
I tabellen forum ligger ju förstås alla forumets inlägg samt statusen om den är låst eller inte.
När man läser en tråd kollar en IF sats först om den är låst, detta kollas då upp i tabellen forum. Om den inte är det kollar den upp om användaren man är inloggad som har status 1 eller 2. Om den har det skall det stå: status1: LÅS TRÅD, Status2: LÅS TRÅD - TA BORT TRÅD.
Om den är låst skall det stå LÅS UPP TRÅD för de med status 1 och ja, LÅS UPP TRÅD - TA BORT TRÅD för de med status 2.
SÅ alltså jag kollar först upp om tråden är låst. Om den är det kollar jag upp vilken status medlemmen man är inloggad som har.
Om den inte är det, ja då försvinner länkarna som var där innan och ersätts istället med de andra länkarna.
Lite svårt att förklara :)
Men hoppas att någon förstår !
Vad händer här? Talar denna om vilka tabeller som ska kollas eller?
Om den gör det, vad har då FROM för uppgift?
Eller är det vilka kolumner som skall hämtas ?
Vore schysst om du ville förklara koden lite snabbt ! :)
Vad händer här? Talar denna om vilka tabeller som ska kollas eller?
När man ska hämta data från mer än en tabell kan det vara vettigt att specificera vilka fält från vilka tabeller man vill hämta. I just det här fallet är det samma (påstår jag) som Select * From users, forum.
Eller är det vilka kolumner som skall hämtas ?
Jepp. Alltså: alla kolumner från users och alla från forum.
- - - - - - -
Jag är fortfarande inte riktigt med på hur users och forum hänger ihop. Finns det något fält tabellerna har gemensamt? Om inte, känns det onödigt att slå ihop dem i samma fråga.