mirror of
https://github.com/e107inc/e107.git
synced 2025-08-06 14:46:56 +02:00
Speed up user selection on large DB
This commit is contained in:
@@ -11,9 +11,9 @@
|
||||
| GNU General Public License (http://gnu.org).
|
||||
|
|
||||
| $Source: /cvs_backup/e107_0.8/e107_files/shortcode/batch/user_shortcodes.php,v $
|
||||
| $Revision: 1.8 $
|
||||
| $Date: 2008-03-16 16:38:06 $
|
||||
| $Author: asperon $
|
||||
| $Revision: 1.9 $
|
||||
| $Date: 2008-03-23 21:22:16 $
|
||||
| $Author: e107steved $
|
||||
+----------------------------------------------------------------------------+
|
||||
*/
|
||||
if (!defined('e107_INIT')) { exit; }
|
||||
@@ -337,24 +337,19 @@ global $sql, $user, $full_perms;
|
||||
if (!$full_perms) return;
|
||||
if(!$userjump = getcachedvars('userjump'))
|
||||
{
|
||||
$sql->db_Select("user", "user_id, user_name", "ORDER BY user_id ASC", "no-where");
|
||||
$c = 0;
|
||||
while ($row = $sql->db_Fetch())
|
||||
{
|
||||
$array[$c]['id'] = $row['user_id'];
|
||||
$array[$c]['name'] = $row['user_name'];
|
||||
if ($row['user_id'] == $user['user_id'])
|
||||
{
|
||||
$userjump['prev']['id'] = $array[$c-1]['id'];
|
||||
$userjump['prev']['name'] = $array[$c-1]['name'];
|
||||
$row = $sql->db_Fetch();
|
||||
$userjump['next']['id'] = $row['user_id'];
|
||||
$userjump['next']['name'] = $row['user_name'];
|
||||
break;
|
||||
}
|
||||
$c++;
|
||||
}
|
||||
cachevars('userjump', $userjump);
|
||||
$sql->db_Select("user", "user_id, user_name", "`user_id` > ".intval($user['user_id'])." AND `user_ban`=0 ORDER BY user_id ASC LIMIT 1 ");
|
||||
if ($row = $sql->db_Fetch())
|
||||
{
|
||||
$userjump['next']['id'] = $row['user_id'];
|
||||
$userjump['next']['name'] = $row['user_name'];
|
||||
}
|
||||
$sql->db_Select("user", "user_id, user_name", "`user_id` < ".intval($user['user_id'])." AND `user_ban`=0 ORDER BY user_id DESC LIMIT 1 ");
|
||||
if ($row = $sql->db_Fetch())
|
||||
{
|
||||
$userjump['prev']['id'] = $row['user_id'];
|
||||
$userjump['prev']['name'] = $row['user_name'];
|
||||
}
|
||||
cachevars('userjump', $userjump);
|
||||
}
|
||||
if($parm == 'prev')
|
||||
{
|
||||
|
Reference in New Issue
Block a user