将结果放在不同的div中,具体取决于数据库的内容?

时间:2017-08-30 06:42:38

标签: php html mysql sql backend

外观如何: 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做到这一点,我尝试过两个单独的查询,一个只选择用户消息,另一个选择每个人(不包括用户)

但由于它没有正确排序,所以它们都没有工作。

如果出来的用户名不等于会话中的用户名,我可以用PHP以某种方式更改div吗?

非常感谢,如果你不认为我解释得很好,请给我一些反馈,我会更改/添加你需要的东西,谢谢!

2 个答案:

答案 0 :(得分:1)

Image of the system now working.

非常感谢你,#you; mulder&#34;,你让我想到一个解决这个问题的简单方法非常有帮助。

我觉得这么简单太复杂了!

以下是可能有所帮助的任何人的最终代码:

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>";
    }

答案 1 :(得分:0)

while($row = mysqli_fetch_array($result)) {
    $class = 'msg';
    if ($row['username'] == $_SESSION['name']) {
        $class = 'msg_user';
    }

    echo "<div class='" . $class . "'>";
    // other codes here
}