mirror of
https://github.com/e107inc/e107.git
synced 2025-08-08 07:36:32 +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).
|
| GNU General Public License (http://gnu.org).
|
||||||
|
|
|
|
||||||
| $Source: /cvs_backup/e107_0.8/e107_files/shortcode/batch/user_shortcodes.php,v $
|
| $Source: /cvs_backup/e107_0.8/e107_files/shortcode/batch/user_shortcodes.php,v $
|
||||||
| $Revision: 1.8 $
|
| $Revision: 1.9 $
|
||||||
| $Date: 2008-03-16 16:38:06 $
|
| $Date: 2008-03-23 21:22:16 $
|
||||||
| $Author: asperon $
|
| $Author: e107steved $
|
||||||
+----------------------------------------------------------------------------+
|
+----------------------------------------------------------------------------+
|
||||||
*/
|
*/
|
||||||
if (!defined('e107_INIT')) { exit; }
|
if (!defined('e107_INIT')) { exit; }
|
||||||
@@ -337,24 +337,19 @@ global $sql, $user, $full_perms;
|
|||||||
if (!$full_perms) return;
|
if (!$full_perms) return;
|
||||||
if(!$userjump = getcachedvars('userjump'))
|
if(!$userjump = getcachedvars('userjump'))
|
||||||
{
|
{
|
||||||
$sql->db_Select("user", "user_id, user_name", "ORDER BY user_id ASC", "no-where");
|
$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 ");
|
||||||
$c = 0;
|
if ($row = $sql->db_Fetch())
|
||||||
while ($row = $sql->db_Fetch())
|
{
|
||||||
{
|
$userjump['next']['id'] = $row['user_id'];
|
||||||
$array[$c]['id'] = $row['user_id'];
|
$userjump['next']['name'] = $row['user_name'];
|
||||||
$array[$c]['name'] = $row['user_name'];
|
}
|
||||||
if ($row['user_id'] == $user['user_id'])
|
$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'] = $array[$c-1]['id'];
|
{
|
||||||
$userjump['prev']['name'] = $array[$c-1]['name'];
|
$userjump['prev']['id'] = $row['user_id'];
|
||||||
$row = $sql->db_Fetch();
|
$userjump['prev']['name'] = $row['user_name'];
|
||||||
$userjump['next']['id'] = $row['user_id'];
|
}
|
||||||
$userjump['next']['name'] = $row['user_name'];
|
cachevars('userjump', $userjump);
|
||||||
break;
|
|
||||||
}
|
|
||||||
$c++;
|
|
||||||
}
|
|
||||||
cachevars('userjump', $userjump);
|
|
||||||
}
|
}
|
||||||
if($parm == 'prev')
|
if($parm == 'prev')
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user