--- fenglin/bbs/search_user.php 2004/12/01 12:52:14 1.4
+++ fenglin/bbs/search_user.php 2025/03/28 12:16:25 1.14
@@ -1,91 +1,84 @@
+ require_once "../lib/db_open.inc.php";
require_once "./session_init.inc.php";
require_once "./user_level.inc.php";
?>
-
-set_user_action("search_user");
-
-$page_max_record=20;
-
-if (isset($_GET["page"]))
- $page=intval($_GET["page"]);
-else
- $page=1;
-if ($page<1)
- $page=1;
+
+$page = (isset($_GET["page"]) ? intval($_GET["page"]) : 1);
+$rpp = (isset($_GET["rpp"]) ? intval($_GET["rpp"]) : 20);
-if (isset($_GET["type"]))
- $type=intval($_GET["type"]);
-else
- $type=1;
+$type = (isset($_GET["type"]) ? intval($_GET["type"]) : 0);
+$online = (isset($_GET["online"]) && $_GET["online"] == "1" ? 1 : 0);
+$friend = (isset($_GET["friend"]) && $_GET["friend"] == "1" ? 1 : 0);
+$search_text = (isset($_GET["search_text"]) ? $_GET["search_text"] : "");
+
+$sql = "SELECT IF(UID = 0, 1, 0) AS is_guest, COUNT(*) AS u_count FROM user_online
+ WHERE TIMESTAMPDIFF(SECOND, last_tm, NOW()) <= $BBS_user_off_line
+ GROUP BY is_guest";
-if (isset($_GET["online"]))
- $online=($_GET["online"]=="on");
-else
- $online=0;
+$rs = mysqli_query($db_conn, $sql);
+if ($rs == false)
+{
+ echo("Count online user error" . mysqli_error($db_conn));
+ exit();
+}
-if (isset($_GET["friend"]))
- $friend=($_GET["friend"]=="on");
-else
- $friend=0;
+$guest_online = 0;
+$user_online = 0;
-if (isset($_GET["search_text"]))
- $search_text=trim($_GET["search_text"]);
-else
- $search_text="";
-$search_author=addslashes(stripslashes($search_text));
+while ($row = mysqli_fetch_array($rs))
+{
+ if ($row["is_guest"])
+ {
+ $guest_online = $row["u_count"];
+ }
+ else
+ {
+ $user_online = $row["u_count"];
+ }
+}
+mysqli_free_result($rs);
-$db_conn=include "./db_open.inc.php";
+$sql = "SELECT COUNT(user_list.UID) AS rec_count FROM user_list" .
+ ($online ? " INNER JOIN user_online ON user_list.UID = user_online.UID" : "") .
+ ($friend ? " INNER JOIN friend_list ON user_list.UID = friend_list.fUID" : "") .
+ ($type == 1 ? " INNER JOIN user_pubinfo ON user_list.UID = user_pubinfo.UID" : "") .
+ " WHERE user_list.enable AND ".
+ ($type == 1 ? "nickname" : "username") .
+ " LIKE '%" . mysqli_real_escape_string($db_conn, $search_text) . "%'" .
+ ($online ? " AND TIMESTAMPDIFF(SECOND, last_tm, NOW()) <= $BBS_user_off_line" : "").
+ ($friend ? " AND friend_list.UID = " . $_SESSION["BBS_uid"] : "");
-$rs=mysql_query("select user_online.UID from user_online".
- " where UID=0 and current_action not in".
- " ('max_user_limit','max_ip_limit','max_session_limit','exit')".
- " group by SID")
- or die("Count guest error!");
-$guest_count=mysql_num_rows($rs);
-mysql_free_result($rs);
-
-$rs=mysql_query("select user_online.UID from user_online".
- " where UID<>0 and current_action not in".
- " ('max_user_limit','max_ip_limit','max_session_limit','exit')".
- " group by SID")
- or die("Count user error!");
-$user_count=mysql_num_rows($rs);
-mysql_free_result($rs);
-
-$rs=mysql_query("select count(user_list.UID) as rec_count from user_list".
- ($online?" inner join user_online on user_list.UID=user_online.UID":"").
- ($friend?" inner join friend_list on user_list.UID=friend_list.fUID":"").
- " inner join user_pubinfo on user_list.UID=user_pubinfo.UID where".
- " user_list.enable and ".($type==1?"user_pubinfo.nickname":"user_list.username").
- " like '%$search_author%'".
- ($online ? " and current_action not in".
- " ('max_user_limit','max_ip_limit','max_session_limit','exit')":"").
- ($friend ? " and friend_list.UID=".$_SESSION["BBS_uid"]:"")
- )
- or die("Query user error!");
+$rs = mysqli_query($db_conn, $sql);
+if ($rs == false)
+{
+ echo("Query user error" . mysqli_error($db_conn));
+ exit();
+}
-$row=mysql_fetch_array($rs);
-$u_count=$row["rec_count"];
+if ($row = mysqli_fetch_array($rs))
+{
+ $toa = $row["rec_count"];
+}
-mysql_free_result($rs);
+mysqli_free_result($rs);
-$toa=$u_count;
-if ($toa==0)
- $toa=1;
+$page_total = ceil($toa / $rpp);
+if ($page > $page_total)
+{
+ $page = $page_total;
+}
-$page_total=intval($toa/$page_max_record);
-if (($toa % $page_max_record)>0)
- $page_total++;
-if ($page>$page_total)
- $page=$page_total;
+if ($page <= 0)
+{
+ $page = 1;
+}
?>
-
- 用户查找结果
+
+ 鐢ㄦ埛鏌ユ壘缁撴灉
-
-
+
+
|
- 枫林在线论坛>>查找 echo ($online?"在线":""); ?> echo ($friend?"好友":"用户"); ?>
+ echo $BBS_name; ?>>>鏌ユ壘 echo ($online?"鍦ㄧ嚎":""); ?> echo ($friend?"濂藉弸":"鐢ㄦ埛"); ?>
|
@@ -132,14 +148,17 @@ TD.level
|
- if ($u_count==0)
+
+if ($toa==0)
{
-?>
- 未找到指定用户 }
- else
+?>鏈壘鍒版寚瀹氱敤鎴
+}
+else
{
-?>用户查找结果(共 echo $u_count; ?>位) } ?>
- (当前在线注册用户 echo $user_count; ?>位,游客 echo $guest_count; ?>位)
+?>鐢ㄦ埛鏌ユ壘缁撴灉锛堝叡 echo $toa; ?>浣嶏級
+
+}
+?>锛堝綋鍓嶅湪绾挎敞鍐岀敤鎴 echo $user_online; ?>浣嶏紝娓稿 echo $guest_online; ?>浣嶏級
|
@@ -152,36 +171,34 @@ TD.level
|
- 用户ID |
- 昵称 |
- 等级 |
- 最后登陆时间 |
+ 鐢ㄦ埛ID |
+ 鏄电О |
+ 绛夌骇 |
+ 鏈鍚庣櫥闄嗘椂闂 |
|
|
-
-$color[0]="#f0F3Fa";
-$color[1]="#FAFBFC";
-$color_index=-1;
-$color_count=2;
-
-$rs=mysql_query("select user_list.UID,username,nickname,exp,".
- "gender,gender_pub,last_login_dt from user_list".
- ($online?" inner join user_online on user_list.UID=user_online.UID":"").
- ($friend?" inner join friend_list on user_list.UID=friend_list.fUID":"").
- " inner join user_pubinfo on user_list.UID=user_pubinfo.UID where".
- " user_list.enable and ".($type==1?"user_pubinfo.nickname":"user_list.username").
- " like '%$search_author%'".
- ($online ? " and current_action not in".
- " ('max_user_limit','max_ip_limit','max_session_limit','exit')":"").
- ($friend ? " and friend_list.UID=".$_SESSION["BBS_uid"]:"").
- " order by ".($type==1?"nickname":"username").
- " limit ".($page-1)*$page_max_record.",$page_max_record")
- or die("Query user error!");
+
+$sql = "SELECT user_list.UID, username, nickname, exp, gender, gender_pub, last_login_dt FROM user_list" .
+ ($online ? " INNER JOIN user_online ON user_list.UID = user_online.UID" : "") .
+ ($friend ? " INNER JOIN friend_list ON user_list.UID = friend_list.fUID" : "") .
+ " INNER JOIN user_pubinfo ON user_list.UID = user_pubinfo.UID WHERE user_list.enable AND ".
+ ($type == 1 ? "nickname" : "username") .
+ " LIKE '%" . mysqli_real_escape_string($db_conn, $search_text) . "%'" .
+ ($online ? " AND TIMESTAMPDIFF(SECOND, last_tm, NOW()) <= $BBS_user_off_line" : "").
+ ($friend ? " AND friend_list.UID = " . $_SESSION["BBS_uid"] : "") .
+ " ORDER BY " . ($type == 1 ? "nickname" : "username") .
+ " LIMIT " . ($page-1) * $rpp . ", $rpp";
+
+$rs = mysqli_query($db_conn, $sql);
+if ($rs == false)
+{
+ echo("Query user error" . mysqli_error($db_conn));
+ exit();
+}
-while($row=mysql_fetch_array($rs))
+while ($row = mysqli_fetch_array($rs))
{
- $color_index=($color_index+1)%$color_count;
?>
|
@@ -189,9 +206,13 @@ while($row=mysql_fetch_array($rs))
if ($row["gender_pub"])
{
if ($row["gender"] == 'M')
- echo ("♂");
+ {
+ echo ("鈾");
+ }
else
- echo ("♀");
+ {
+ echo ("鈾");
+ }
}
else
{
@@ -199,8 +220,8 @@ while($row=mysql_fetch_array($rs))
}
?>
|
-
- )"> echo $row["username"]; ?>
+ |
+ );"> echo $row["username"]; ?>
|
echo $row["nickname"]; ?>
@@ -212,20 +233,24 @@ while($row=mysql_fetch_array($rs))
echo $row["last_login_dt"]; ?>
|
- ','send_msg',500,300)">发送消息
- ','send_msg',500,300)">发送邮件
+
+ if ($_SESSION["BBS_priv"]->checkpriv(0, S_MSG))
+ {
+?>
+ ', 'send_msg', 500, 300);">鍙戦佹秷鎭
+
+ }
+?>
|
|
}
+
+mysqli_free_result($rs);
?>
-
-mysql_free_result($rs);
-mysql_close($db_conn);
-?>
|
@@ -236,48 +261,68 @@ mysql_close($db_conn);
|
- |
-
- |
-
-
+
|
- include "./foot.inc.php";
+mysqli_close($db_conn);
+
+include "./foot.inc.php";
?>
-