firstlord18
Erfahrenes Mitglied
Hi,
irgendwie bekomme ich die MySQL Queries grad net hin :/:
Also, meine Tabellen sehen so aus:
http://img397.imageshack.us/my.php?image=zwischenablage023yb.jpg
1. Ich will alle Gruppen auslesen, deren ID > 1 ist, und dann zu jeder Gruppe jeweils die usernamen, die in der Gruppe sind (und deren ID > 1 ist) und noch die Rechte, die die Gruppe besitzt. ABER in der Gruppe müssen nicht zwangsläufig User sein und die Gruppe muss auch nicht zwangsläufig Rechte haben ...
2. Ich will die ID und den Rechtenamen auslesen, wo die Rechteid > 1 ist. Dazu soll der Gruppenname ausgelesen werden von der Gruppe, die von dem Recht betroffen ist (soll heißen, die das Recht in der Tabelle um_groups_rights zugewießen bekommen hat). Die ID der Gruppe muss auch größer > 1 sein. Dann möchte ich noch alle usernamen (der Tabelle um_users) haben, die das Recht per um_users_rights zugewießen bekommen haben und deren ID (um_users.id) > 1 ist!
Im Moment muss ich das leider über eine Schleife lösen, da ichs nicht anders hinbekommen habe.
Ich lese dann erst alle Gruppe aus.
Dann geh ich mit ner Schleife die ID's der Gruppe durch und selektiere mit jeweils 2
Queries noch a) die User, die von der Gruppe betroffen sind und b) die Rechte, die diese Gruppe hat ...
Das selbe halt mit den Rechten, da mach ichs auch mit ner Schleife.
Sind dann im Endeffekt total viele Queries (pro Gruppe bzw pro Recht 3 Queries)...
Hier noch ein DUmp (wäre dann wohl leichter für euch, das selbst zu probieren):
Wäre echt klasse, wenn Ihr mir helfen könntet.
VIelen Dank im voraus!
irgendwie bekomme ich die MySQL Queries grad net hin :/:
Also, meine Tabellen sehen so aus:
http://img397.imageshack.us/my.php?image=zwischenablage023yb.jpg
1. Ich will alle Gruppen auslesen, deren ID > 1 ist, und dann zu jeder Gruppe jeweils die usernamen, die in der Gruppe sind (und deren ID > 1 ist) und noch die Rechte, die die Gruppe besitzt. ABER in der Gruppe müssen nicht zwangsläufig User sein und die Gruppe muss auch nicht zwangsläufig Rechte haben ...
2. Ich will die ID und den Rechtenamen auslesen, wo die Rechteid > 1 ist. Dazu soll der Gruppenname ausgelesen werden von der Gruppe, die von dem Recht betroffen ist (soll heißen, die das Recht in der Tabelle um_groups_rights zugewießen bekommen hat). Die ID der Gruppe muss auch größer > 1 sein. Dann möchte ich noch alle usernamen (der Tabelle um_users) haben, die das Recht per um_users_rights zugewießen bekommen haben und deren ID (um_users.id) > 1 ist!
Im Moment muss ich das leider über eine Schleife lösen, da ichs nicht anders hinbekommen habe.
Ich lese dann erst alle Gruppe aus.
Dann geh ich mit ner Schleife die ID's der Gruppe durch und selektiere mit jeweils 2
Das selbe halt mit den Rechten, da mach ichs auch mit ner Schleife.
Sind dann im Endeffekt total viele Queries (pro Gruppe bzw pro Recht 3 Queries)...
Hier noch ein DUmp (wäre dann wohl leichter für euch, das selbst zu probieren):
Code:
-- phpMyAdmin SQL Dump
-- version 2.6.2-pl1
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Erstellungszeit: 22. Dezember 2005 um 12:37
-- Server Version: 4.1.12
-- PHP-Version: 5.0.4
--
-- Datenbank: `usermanagement`
--
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `um_groups`
--
CREATE TABLE `um_groups` (
`id` int(10) NOT NULL auto_increment,
`groupname` varchar(120) NOT NULL default '',
`art` varchar(20) NOT NULL default 'by_user',
`autogetnewright` int(2) NOT NULL default '-1',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=5 ;
--
-- Daten für Tabelle `um_groups`
--
INSERT INTO `um_groups` VALUES (1, 'admin', 'special', 1);
INSERT INTO `um_groups` VALUES (2, 'asdasd', 'special', -1);
INSERT INTO `um_groups` VALUES (3, 'gruppe1', 'special', -1);
INSERT INTO `um_groups` VALUES (4, 'gruppe2', 'special', -1);
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `um_groups_rights`
--
CREATE TABLE `um_groups_rights` (
`groups_id` int(10) NOT NULL default '0',
`rights_id` int(10) NOT NULL default '0'
) TYPE=MyISAM;
--
-- Daten für Tabelle `um_groups_rights`
--
INSERT INTO `um_groups_rights` VALUES (1, 1);
INSERT INTO `um_groups_rights` VALUES (1, 2);
INSERT INTO `um_groups_rights` VALUES (1, 3);
INSERT INTO `um_groups_rights` VALUES (1, 4);
INSERT INTO `um_groups_rights` VALUES (1, 5);
INSERT INTO `um_groups_rights` VALUES (1, 6);
INSERT INTO `um_groups_rights` VALUES (1, 7);
INSERT INTO `um_groups_rights` VALUES (1, 8);
INSERT INTO `um_groups_rights` VALUES (1, 9);
INSERT INTO `um_groups_rights` VALUES (1, 10);
INSERT INTO `um_groups_rights` VALUES (1, 11);
INSERT INTO `um_groups_rights` VALUES (1, 12);
INSERT INTO `um_groups_rights` VALUES (1, 13);
INSERT INTO `um_groups_rights` VALUES (2, 2);
INSERT INTO `um_groups_rights` VALUES (2, 3);
INSERT INTO `um_groups_rights` VALUES (2, 4);
INSERT INTO `um_groups_rights` VALUES (2, 5);
INSERT INTO `um_groups_rights` VALUES (2, 6);
INSERT INTO `um_groups_rights` VALUES (2, 7);
INSERT INTO `um_groups_rights` VALUES (2, 8);
INSERT INTO `um_groups_rights` VALUES (2, 9);
INSERT INTO `um_groups_rights` VALUES (2, 10);
INSERT INTO `um_groups_rights` VALUES (2, 11);
INSERT INTO `um_groups_rights` VALUES (2, 12);
INSERT INTO `um_groups_rights` VALUES (2, 13);
INSERT INTO `um_groups_rights` VALUES (1, 14);
INSERT INTO `um_groups_rights` VALUES (3, 2);
INSERT INTO `um_groups_rights` VALUES (3, 3);
INSERT INTO `um_groups_rights` VALUES (3, 4);
INSERT INTO `um_groups_rights` VALUES (3, 5);
INSERT INTO `um_groups_rights` VALUES (3, 6);
INSERT INTO `um_groups_rights` VALUES (3, 7);
INSERT INTO `um_groups_rights` VALUES (3, 8);
INSERT INTO `um_groups_rights` VALUES (3, 9);
INSERT INTO `um_groups_rights` VALUES (3, 10);
INSERT INTO `um_groups_rights` VALUES (3, 11);
INSERT INTO `um_groups_rights` VALUES (3, 12);
INSERT INTO `um_groups_rights` VALUES (3, 13);
INSERT INTO `um_groups_rights` VALUES (3, 14);
INSERT INTO `um_groups_rights` VALUES (4, 8);
INSERT INTO `um_groups_rights` VALUES (4, 9);
INSERT INTO `um_groups_rights` VALUES (4, 10);
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `um_rights`
--
CREATE TABLE `um_rights` (
`id` int(10) NOT NULL auto_increment,
`rightname` varchar(120) NOT NULL default '',
`php_id` varchar(100) NOT NULL default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=15 ;
--
-- Daten für Tabelle `um_rights`
--
INSERT INTO `um_rights` VALUES (1, 'standartrecht - do not delete!', 'default');
INSERT INTO `um_rights` VALUES (2, 'eigene einstellungen bearbeiten!', 'edit_own_prefs');
INSERT INTO `um_rights` VALUES (3, 'gruppen anlegen', 'create_groups');
INSERT INTO `um_rights` VALUES (4, 'gruppen löschen', 'delete_groups');
INSERT INTO `um_rights` VALUES (5, 'gruppen editieren', 'edit_groups');
INSERT INTO `um_rights` VALUES (6, 'user erstellen', 'create_users');
INSERT INTO `um_rights` VALUES (7, 'user löschen', 'delete_users');
INSERT INTO `um_rights` VALUES (8, 'user editierren', 'edit_users');
INSERT INTO `um_rights` VALUES (9, 'rechte erstellen', 'create_rights');
INSERT INTO `um_rights` VALUES (10, 'rechte löschen', 'delete_rights');
INSERT INTO `um_rights` VALUES (11, 'rechte editieren', 'edit_rights');
INSERT INTO `um_rights` VALUES (12, 'scripteinstellungen bearbeiten', 'edit_script_prefs');
INSERT INTO `um_rights` VALUES (13, 'datenbankbackup anlegen', 'create_db_backup');
INSERT INTO `um_rights` VALUES (14, 'asd', 'asd');
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `um_users`
--
CREATE TABLE `um_users` (
`id` int(10) NOT NULL auto_increment,
`username` varchar(100) NOT NULL default '',
`password` varchar(100) NOT NULL default '',
`icq` varchar(20) NOT NULL default '',
`mail` varchar(50) NOT NULL default '',
`random_id` varchar(25) default '',
`autogetnewright` int(2) NOT NULL default '-1',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=4 ;
--
-- Daten für Tabelle `um_users`
--
INSERT INTO `um_users` VALUES (1, 'admin', 'admin', '', '', '1395401740', 1);
INSERT INTO `um_users` VALUES (2, 'User2', '', '', '', '', -1);
INSERT INTO `um_users` VALUES (3, 'User3', '', '', '', '', -1);
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `um_users_groups`
--
CREATE TABLE `um_users_groups` (
`users_id` int(10) NOT NULL default '0',
`groups_id` int(10) NOT NULL default '0'
) TYPE=MyISAM;
--
-- Daten für Tabelle `um_users_groups`
--
INSERT INTO `um_users_groups` VALUES (1, 1);
INSERT INTO `um_users_groups` VALUES (3, 3);
INSERT INTO `um_users_groups` VALUES (3, 2);
INSERT INTO `um_users_groups` VALUES (2, 4);
-- --------------------------------------------------------
--
-- Tabellenstruktur für Tabelle `um_users_rights`
--
CREATE TABLE `um_users_rights` (
`users_id` int(10) NOT NULL default '0',
`rights_id` int(10) NOT NULL default '0'
) TYPE=MyISAM;
--
-- Daten für Tabelle `um_users_rights`
--
INSERT INTO `um_users_rights` VALUES (1, 1);
INSERT INTO `um_users_rights` VALUES (1, 14);
INSERT INTO `um_users_rights` VALUES (3, 14);
Wäre echt klasse, wenn Ihr mir helfen könntet.
VIelen Dank im voraus!