m8t Posted May 31, 2010 Report Share Posted May 31, 2010 Pašlaik man ir izveidota lietotāju reģistrācija, logins utml. Visam par virsu vēl ir lietotāju grupas. Problēma man ir šāda: Ja es izdzēšu grupu ar ID 5, tad visi lietotāji, kuriem ir grupas ID 5 pazudīs no visu lietotāju saraksta. Mans SQL pašlaik ir šāds. SELECT * FROM {$this->prefix}users as u, {$this->prefix}user_groups as g WHERE u.user_group=g.group_id AND u.user_id <= {$sub} ORDER BY u.user_id DESC LIMIT 10 Ir kādas idejas, kā šo izlabot? Pats savu kļūdu saprotu - netiek izvadīti ieraksti, kuros u.user_group neatbilst g.group_id. Tātad ietaksti, kuri ir zem neesoša grupas ID. Quote Link to comment Share on other sites More sharing options...
briedis Posted May 31, 2010 Report Share Posted May 31, 2010 (edited) Ko tu mums dod kaut kādu atlases kvēriju, labāk parādi tabulu struktūru... vajadzētu būt 3 tabulām - user(uid | ...) group(gid | ...) group_user(gid | uid | iestāšanās datums utt...) ja dzēš grupu, tad vienkārši izdzēs ierakstu no group un no group_user user tabula ir neatkarīga... Edited May 31, 2010 by briedis Quote Link to comment Share on other sites More sharing options...
m8t Posted May 31, 2010 Author Report Share Posted May 31, 2010 Pašlaik man ir 2 tabulas. Reāli no viņām tikai ir nepieciešama tā informācija, kura ir rakstīta manā kverijā. lietotāju tabula ar rindu: user_group <- grupa, kurā atrodas lietotājs (int) grupu tabula ar rindām: group_name group_id Reāli vienīgais ceļš būtu dzēšot grupu + updatojot visus lietotājus, kuru grupas ID ir attiecīgs ar dzēstās grupas ID, atpakaļ uz default grupu? Quote Link to comment Share on other sites More sharing options...
php newbie Posted May 31, 2010 Report Share Posted May 31, 2010 var vēl ar mysql trigeriem šito taisīt, bet man liekas ka tā nav best practice Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.