![](/img/trans.png)
[英]Show MySQL row content on PHP from specific table column (same .row name on different tables)
[英]PHP:how to show specific row different from others in MySQL?
我正在創建一個php聊天應用程序,我有兩個聊天面板,一個是管理員區域,另一個是客戶端聊天區域,兩個面板區域中的內容均來自1個表,稱為messages
我只想顯示管理員內容或名稱客戶端用戶以外的顏色。
這個怎么做? 任何想法?
這是我的display_messages.php
代碼
session_start();
require_once 'cn.php';
require_once 'protect.php';
$fiveMinutesAgo = time() - 1000;
$sql = "SELECT * FROM messages ORDER BY message_time ";
$result = mysqli_query($cn,$sql) or
die(mysqli_error($cn));
while ($row = mysqli_fetch_assoc($result)) {
$user = $row['username'];
$msg_content = $row['message_content'];
$hoursAndMinutes = $row['message_time'];
echo '<p><cite class="fa fa-user"><b>'. $user .':</b></cite> <output>'. $msg_content .'</output> <time class="fa fa-clock-o time">: ' . $hoursAndMinutes . ':</time></p>';
}
任何幫助,將不勝感激。
謝謝。
假設您在messages
表中有一列名為role
的列,該列可以是“ admin”或“ user”,則您的循環可能類似於:
while ($row = mysqli_fetch_assoc($result)) {
$user = $row['username'];
$msg_content = $row['message_content'];
$hoursAndMinutes = $row['message_time'];
$class = $row['role'];
echo '<p class="'.$class.'">'.
'<cite class="fa fa-user">'.
'<b>'. $user .':</b>'.
'</cite>'.
'<output>'. $msg_content .'</output>'.
'<time class="fa fa-clock-o time">: ' . $hoursAndMinutes . ':</time>'.
'</p>';
}
您可以添加
.admin{color:red}
.user{color:black}
給你的CSS
這是一個廣泛的例子。 您確實應該在users表上加入messages表
編輯
將查詢更改為:
$sql = "SELECT m.*,u.role FROM messages m ".
"JOIN users u on u.username = m.username ORDER BY message_time";
並在列中添加到您的用戶表
"ALTER TABLE `users` ADD `role` VARCHAR(5);"
在您的sql客戶端中。
但是,如果您有多個具有相同名稱的用戶,這將無法很好地工作,messages表應該具有一個userid列,而不是一個user name列,並且您應該加入該列。
因此,您在messages表中有一個用戶名,這意味着您可能有一個user表,其中包含所有用戶信息。 如果您沒有,那應該。
session_start();
require_once 'cn.php';
require_once 'protect.php'
$fiveMinutesAgo = time() - 1000;
$sql = "SELECT messages.username,message.message_content,messages.message_time,user.type as user_type FROM messages JOIN user on messages.username = user.username ORDER BY message_time ";
$result = mysqli_query($cn,$sql) or
die(mysqli_error($cn));
while ($row = mysqli_fetch_assoc($result)) {
$user = $row['username'];
$msg_content = $row['message_content'];
$hoursAndMinutes = $row['message_time'];
$role = $row['role'] //the user role e.g admin, normal,etc.
echo '<span class={$role}><p><cite class="fa fa-user"><b>'. $user .':</b></cite> <output>'. $msg_content .'</output> <time class="fa fa-clock-o time">: ' . $hoursAndMinutes . ':</time></p></span>';
}
現在,您需要為用戶數據庫中的每個角色創建一個CSS類。
.admin {color:pink;} .normal {color:red;}
我希望這可以幫助你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.