[英]Put results in different divs depending on what comes out of the database?
外观: https : //jsfiddle.net/jef2L8m6/
它的外观: https : //jsfiddle.net/jef2L8m6/1/
我知道它看起来真的很糟糕,这仅是出于测试目的。
一些后端代码:
<?php //Selects all of the logged in users messages.
$name = $_SESSION["name"];
$con = mysqli_connect('localhost','root','','chat');
if (!$con) {
die('Could not connect: ' . mysqli_error($con));
}
mysqli_select_db($con,"ajax_demo");
$sql="SELECT * FROM `chat` ORDER BY date";
$result = mysqli_query($con,$sql);
$numrows = mysqli_num_rows($result);
if( $numrows == "0" or !isset($_SESSION["name"])){
echo "<div class='msg'>You are not registered (Or there are no messages to display)</div>";
exit();
}else{
echo "";
}
echo "<div class='msg_container'>";
while($row = mysqli_fetch_array($result)) {
echo "<div class='msg_user'>";
echo "<div class='username_user'><span>" . $row['username'] . "</span></div>";
echo "<div class='message_user'><span>" . $row['message'] . "</span></div>";
echo "</div>";
}
echo "";
mysqli_close($con);
?>
非常感谢您抽出宝贵的时间阅读本文。
我试图弄清楚如何根据每个用户的姓名更改其div标签?
有没有办法使用PHP做到这一点,我尝试做2个单独的查询,一个查询只选择用户消息,另一个选择所有人(不包括用户)。
但是由于没有正确地订购它们,所以它们都不起作用。
如果输出的用户名不等于会话中的用户名,我可以以某种方式更改div的PHP吗?
非常感谢,如果您认为我没有很好地解释这一点,请给我一些反馈,我将更改/添加您的需求,谢谢!
非常感谢您的“ u_mulder”,您对使我想到一种解决此问题的简单方法非常有帮助。
对于这么简单的事情,我的想法太复杂了!
这是任何可能有帮助的人的最终代码:
while($row = mysqli_fetch_array($result)) {
$class_msg = "msg";
$class_username = "username";
$class_message = "message";
if ($row['username'] == $_SESSION['name']) {
$class_msg = "msg_user";
$class_username = "username_user";
$class_message = "message_user";
}
echo "<div class='$class_msg'>";
echo "<div class='$class_username'><span>" . $row['username'] . "</span></div>";
echo "<div class='$class_message'><span>" . $row['message'] . "</span></div>";
echo "</div>";
}
while($row = mysqli_fetch_array($result)) {
$class = 'msg';
if ($row['username'] == $_SESSION['name']) {
$class = 'msg_user';
}
echo "<div class='" . $class . "'>";
// other codes here
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.