User Authentication With patUser (part 2) - Drilling Deeper
(Page 4 of 13 )
You can also get fancy by adding selection criteria in your call to getUsers(), as a second argument to the method. Consider the following variant of the example above, which only returns records of those users who are male and between 18 and 25:
<?php
// include classes
include("../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", "age", "sex", "tel"),
array( array("field" => "sex", "value" => "M", "match" =>
"exact"),
array("field" => "age", "value" => array(18,25), "match" =>
"between") ) );
// print as table
echo "<h2>Users</h2>";
echo "<table border=1>";
echo "<tr>";
echo "<td><b>UID</b></td>";
echo "<td><b>Username</b></td>";
echo "<td><b>Age</b></td>";
echo "<td><b>Sex</b></td>";
echo "<td><b>Tel</b></td>";
echo "</tr>";
// iterate over list
foreach ($list as $l)
{
echo "<tr>";
echo "<td>" . $l['uid'] . "</td>";
echo "<td>" . $l['username'] . "</td>";
echo "<td>" . $l['age'] . "</td>";
echo "<td>" . $l['sex'] . "</td>";
echo "<td>" . $l['tel'] . "</td>";
echo "</tr>";
}
echo "</table>";
?>
In this case, the second argument to the getUsers() method - a series of
nested arrays containing selection criteria - provides patUser with a list of additional conditions to be satisfied when querying the database. Only those user records that match the specified conditions will be included in the result.
Here's the output:

Next: All For One, And One For All >>
More PHP Articles
More By icarus, (c) Melonfire