我正在研究基本的消息传递系统。这是为了获取所有消息并使表中具有未读消息的行为绿色。在表中,有一个名为“msgread”的列。默认设置为“0”。因此它应该使用msgread = 0 - >进行任何行。绿色。这只适用于我的代码表的第一行 - 我验证它总是得到0值,但它只能在while语句中第一次使用..
require('./connect.php');
$getmessages = "SELECT * FROM messages WHERE toperson = '" . $userid . "'";
echo $getmessages;
$messages = mysql_query($getmessages);
if(mysql_num_rows($messages) != 0) {
$table = "<table><tr><th>From</th><th>Subject</th><th>Message</th></tr>";
while($results = mysql_fetch_array($messages)) {
if(strlen($results[message]) < 30){
$message = $results[message];
}
else {
$message = substr($results[message], 0 ,30) . "...";
}
if($results[msgread] == 0){
$table .= "<tr style='background:#9CFFB6'>";
$table .= "<td>" . $results[from] . "</td><td>" . $results[subject] . "</td><td><a href='viewmessage.php?id=" . $results[message_id] ."'>" . $message . "</a></td></tr>";
}
else {
$table .= "<tr>";
$table .= "<td>" . $results[from] . "</td><td>" . $results[subject] . "</td><td><a href='viewmessage.php?id=" . $results[message_id] ."'>" . $message . "</a></td></tr>";
}
}
echo $table ."</table>";
}
else {
echo "No Messages Found";
}
有所有代码,包括从数据库中获取信息。感谢。
答案 0 :(得分:5)
if(strlen($results[message]) < 30){
可能应该引用该消息:
if(strlen($results['message']) < 30){
还有很多其他类似的问题
答案 1 :(得分:1)
我测试了你的代码,我发现的唯一错误是在数组$ results中缺少quoatation标记。当最合适的$result[message_id]
时,您正在使用此$result['message_id']
。其余的工作正常,msgread等于0的记录保留绿线。
答案 2 :(得分:1)
你的代码看起来有点讨厌,不容易阅读。
mysqli_fetch_assoc()
。$userid
来自哪里?内容安全吗?以下是您的代码的快速清理版本:
$query = "SELECT * FROM messages WHERE toperson = '" . $userid . "'";
if($results = mysqli_query($query)) {
if(mysqli_num_rows($results) != 0) {
$table = "<table><tr><th>From</th><th>Subject</th><th>Message</th></tr>";
while($data = mysqli_fetch_assoc($results)) {
if(strlen($data['message']) > 30){
$data['message'] = substr($data['message'], 0 ,30) . "...";
}
$table .= "<tr";
if($data['msgread'] == 0){
$table .= " style='background:#9CFFB6;'";
}
$table .= ">";
$table .= "<td>" . $data['from'] . "</td><td>" . $data['subject'] . "</td><td><a href='viewmessage.php?id=" . $data['message_id'] ."'>" . $data['message'] . "</a></td></tr>";
}
echo $table ."</table>";
} else {
echo "No Messages Found";
}
}