The default patUser-supplied database schema for the "groups" table includes only two group attributes: its name, and a unique group ID. Most of the time, this is sufficient; however, in case you need to add more attributes, patUser can be easily tweaked to work with this extra data.
Let's alter the default "groups" table to include some additional fields, for description and location:
#
# Table structure for table `groups`
#
CREATE TABLE groups (
gid int(11) NOT NULL auto_increment,
name varchar(50) default NULL,
dsc varchar(255) NOT NULL default '',
loc varchar(255) NOT NULL default '',
UNIQUE KEY gid (gid)
) TYPE=MyISAM;
While we're at it, let's also insert a few records into the new table:
INSERT INTO groups (gid, name, dsc, loc) VALUES (1, 'Accounts', 'Billing and
finance activities', 'AZ'); INSERT INTO groups (gid, name, dsc, loc) VALUES(2, 'Administration', 'Administrative activities', 'CA'); INSERT INTO groups(gid, name, dsc, loc) VALUES (3, 'Operations', 'Logistics and operations','CA');
As before, I can retrieve this information via an SQL query,
mysql> SELECT * FROM groups;
+-----+----------------+--------------------------------+-----+| gid | name | dsc | loc |+-----+----------------+--------------------------------+-----+| 1 | Accounts | Billing and finance activities | AZ || 2 | Administration | Administrative activities | CA || 3 | Operations | Logistics and operations | CA |+-----+----------------+--------------------------------+-----+3 rows in set (0.00 sec)
or have patUser do it for me via its getGroups() function:
<?php
// include classesinclude("../include/patDbc.php");include("../include/patUser.php");// initialize database layer$db = new patMySqlDbc("localhost", "db211", "us111", "secret");// initialize patUser$u = new patUser(true);// connect patUser to database$u->setAuthDbc($db);// set tables$u->setAuthTable("users");$u->setGroupTable("groups");// get group list$list = $u->getGroups(array("gid", "name", "dsc", "loc"));// print as tableecho "<h2>Groups</h2>";echo "<table border=1>";echo "<tr>";echo "<td><b>GID</b></td>";echo "<td><b>Name</b></td>";echo "<td><b>Description</b></td>";echo "<td><b>Location</b></td>";echo "</tr>";// iterate over listforeach ($list as $l){ echo "<tr>"; echo "<td>" . $l['gid'] . "</td>"; echo "<td>" . $l['name'] . "</td>"; echo "<td>" . $l['dsc'] . "</td>"; echo "<td>" . $l['loc'] . "</td>"; echo "</tr>";}echo "</table>";?>