Hvad mener du med at fremmednøgler ikke understøttes? Hvis du tænker på automatisk referentiel integritet så er det rigtigt, men du kan sagtens arbejde med fremmednøgler i MySQL, du skal bare selv holde styr på om en nøgle faktisk peger på et post i den relaterede tabel.
>> automatisk referentiel integritet: det er her jeg bli\'r afsløret som nybegynder :-)
Jeg vil opnå to ting:
1. Når en ny bruger opretter sig, skal han ryge ned i min User-tabel og samtidig skal han automatisk oprettes i en Point-tabel og en Statistik-tabel med samme ID som det han netop fik tildelt i User-tabellen.
2. Når brugeren får point skal de lægges til i Point-tabellen OG Statistik-tabellen.
Jeg vil foreslå dig at lave 2 funktioner, så du dermed sikre at du gør de nødvendige ting hvergang.
Her er et exempel (Jeg ved jo ikke hvad du vil gemme om en bruger. Jeg forudsætter at dit BrugerID er et auto_increment felt. Da jeg ikke ved hvad du skal gemme i statistiktabellen har jeg ikke angivet nogle felter i sql-sætningen der opdaterer statistiktabellen.
<? function opretBruger($BrugerNavn,$BrugerPass) { $sql=\"insert into User_tabel (BrugerNavn,BrugerPass) values (\'$BrugerNavn\',\'$BrugerPass\')\"; mysql_query($sql); $BrugerID=mysql_insert_id(); $sql_point=\"insert into Point_tabel (BrugerID) values ($BrugerID)\"; mysql_query($sql_point); $sql_statistik=\"insert into Statistik_tabel (BrugerID) values ($BrugerID)\"; mysql_query($sql_statistik); }
function opdaterPoint($BrugerID,$point) { $sql=\"update Point_tabel set Point=Point+$point where BrugerID=$BrugerID\"; mysql_query($sql); $sql=\"update Statistik_tabel set dit_felt=?? where BrugerID=$BrugerID\"; mysql_query($sql); }
Dermed skal du bare kalde en af funktionerne når du har brug for at oprette en ny bruger eller opdaterer point m.v. på en bruger.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.