现在我已经做了一个聊天室,但现在所有带有用户名的消息都来自我的用户名。您登录所有用户名与您相同的名称。如何使用session_user id从我的用户数据库获取用户名?
我的桌子是
如何从聊天中获取user_id并从用户表中获取用户名?
这是我的代码用php和sql
$chatroomID=$_GET['chatroomID'];
$userID = $_SESSION['id'];
$sql="SELECT * FROM chatroom_chat";
$result1 = mysqli_query($connection, $sql) or die(mysqli_error($connection));
while ($row = mysqli_fetch_array($result1)) {
$chat = $row['chat_id'];
$getChatData = mysqli_query($connection,"SELECT * FROM (
SELECT * FROM chat WHERE id = '$chat' ORDER BY id DESC LIMIT 0,40
) sub
ORDER BY id ASC ") or die(mysqli_error($connection));
while($row3 = mysqli_fetch_array($getChatData)) {
$username = $_SESSION['username'];
$color = ($row3['user_id'] == $userID) ? '#FFFFFF' : '#66FFFF';
$position = ($row3['user_id'] == $userID ) ? 'right' : 'left';
$border = ($row3['user_id'] == $userID) ? ' 1px solid black ' : ' none ';
echo "<div class='msg-dateandtime' style='text-align:$position; float:$position;'> <div class='left-username' style='color:blue;'>" .$username."</div>"
. "<div class='space'></div>"
. "<div class='right-date'> ". $row3['date'] ." </div></div>"
. "<div class='wrap-message' style='background-color:$color; border:$border; float:$position;'>"
. "<p style 'text-align=$position; margin:0; padding:0; text-align:left;'> ".$row3['chat']."</p></div>";
}
}
答案 0 :(得分:1)
在您的帖子中,我假设这是您唯一的问题:“我如何通过session_user id从我的用户数据库获取用户名?”
您向我们展示了您的用户表格内容如下:
user
__________________
| id | username |
|------|-----------|
| 1 | jack |
| 2 | sam |
| 3 | ana |
因此,如果您问题中的session_user
与用户表中的ID等效,则可以使用以下代码:
$sql = "SELECT username FROM username WHERE id = {$_SESSION['session_user']}";
之前的代码假设session_user
是$_SESSION
超级全局中的关键值。但是,如果session_user
是代码中的实际 php 变量($session_user
),那么只需在前一个sql语句中将$_SESSION['session_user']
替换为$session_user