我已经编写了代码来向所有用户显示排名。 但是,我无法显示当前登录的用户排名。 这是我写的代码。
<?php
$var = mysql_query("SELECT quiz_grades.grade, user.username FROM quiz_grades JOIN user ON quiz_grades.userid=user.id WHERE `quiz`=$quid ORDER BY quiz_grades.grade DESC");
$i=0;
while($result1=mysql_fetch_array($var))
{
$i++;
echo $result1['username'];
echo $result1['grade'];
echo $i;
}
?>
请帮我显示当前登录的用户排名。 在此先感谢
答案 0 :(得分:2)
首先,您当前在哪里登录用户的ID /用户名?没有任何会议? $_SESSION['id']
或$_SESSION['username'];
如果您没有,则在用户登录时设置用户的会话
注意:mysql_query is deprecated
$_SESSION['id'] = $current_logged_in_user_id; // $current_logged_in_user_id is just an example variable to give you an idea of making the session according to id which you fetch when user logs in.
我将向您展示基于手动用户ID的查询
$userid = '3';
稍后在问题海报中描述,用户ID为:
$USER->id
然后在查询用户中使用上面的变量来获取当前用户的排名/整数数据remove quizid
条件。
<?php
$var = mysql_query("SELECT quiz_grades.grade, user.username
FROM quiz_grades
JOIN user ON quiz_grades.userid=user.id
WHERE quiz_grades.quiz = $quizid AND quiz_grades.userid = $USER->id ORDER BY quiz_grades.grade DESC");
$i=0;
while($result1=mysql_fetch_array($var))
{
$i++;
echo $result1['username'];
echo $result1['grade'];
echo $i;
}
?>
答案 1 :(得分:1)
USE用户名=&#39; Current_user_id&#39; 显示当前登录的用户..
在查询中指定用户名条件
<?php $var = mysql_query("SELECT quiz_grades.grade, user.username
FROM quiz_grades
JOIN user ON quiz_grades.userid=user.id
WHERE `quiz`=$quid and `username`='$userid' ORDER BY quiz_grades.grade DESC");
$i=0;
while($result1=mysql_fetch_array($var))
{
$i++;
echo $result1['username'];
echo $result1['grade'];
echo $i;
}
?>