Let's start with the basics - obtaining a list of current users from the database. If you've been following along, you already know that right now, the database has only a single user, "joe". Let's add a couple more:
INSERT INTO users ('uid', 'username', 'passwd') VALUES
('', 'sarah', 'sarah');
INSERT INTO users ('uid', 'username', 'passwd') VALUES ('', 'john', 'john');
You can verify the result with a quick SQL query to the "users" table:
mysql> SELECT uid, username FROM users;
+-----+----------+| uid | username |+-----+----------+| 1 | joe || 2 | sarah || 3 | john |+-----+----------+3 rows in set (0.00 sec)
Now, let's try doing the same with patUser:
<?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 table$u->setAuthTable("users");// get user list$list = $u->getUsers(array("uid", "username"));// uncomment this to see data structure// print_r($list);// print as listecho "<h2>Users</h2>";echo "<ul>";foreach ($list as $l){ echo "<li>" . $l['username'] . " (" . $l['uid'] . ")";}echo "</ul>";?>
The first part of this script should be easily recognizable to you by now - it consists of the code needed to instantiate a patUser object instance and prepare it for use. Once the object has been prepared, the getUsers() function is used to retrieve a list of all the users in the database. The return value of the getUsers() method is an associative array containing user records, one element for each record.
The first argument to the getUsers() function is an array containing the names of the fields to be included in the result set - these field names appear as keys in the returned array, and can be used to access the corresponding values. Here's the output:
You're not restricted to using just the default fields built into the patUser database schema - you can just as easily add your own. Find out how, on the next page.