我想要做的是一个用户-> Admin Admin \Admin ->用户)聊天系统。到目前为止,我想出来的东西看起来真的很糟糕,我通过SQLfiddle在select上尝试了SQLfiddle,结果不太好。
希望有人有更好的想法,并知道如何解决这个问题。
我的实时聊天PHP代码-> http://pastebin.com/6z9ajCMW
对于live_chat和live_chat_admin的数据库结构,这里是-> http://sqlfiddle.com/#!2/ae70ec/26
想要了解一下我想做什么。

发布于 2015-02-22 03:22:16
在@Eddy Ella的帮助下解决了我的问题。
我首先删除了live_chat_admin,然后将接收器移到live_chat。然后,我使用了用例在id之间从用户切换到admin。
结果和我想要的完全一样。
PHP:http://pastebin.com/GXJEK6u4
SQL:http://sqlfiddle.com/#!2/7081b/5
结果:

发布于 2015-02-22 03:09:26
这就是你要的
您只需要向右和向左对齐您表单中的管理员和用户,就像我在下面的代码中一样
即,
echo '<div align="right">';并以
echo '</div>'; 代码:
<?php
echo '<div class="live_chat">';
$user = 'root';
$pass = '';
// admin chat
$conn = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sth = $conn->prepare("SELECT * FROM live_chat_admin WHERE receiver = :user_id");
$sth->bindValue(':user_id', '2', PDO::PARAM_INT);
$sth->execute();
foreach ($sth as $row) {
// Test message #1
echo '<div align="right">';
echo '<div class="admin_date">'.date('M j <b\\r/> H:i', strtotime($row['message_date'])).'</div>';
echo '<div class="admin_bubble">'.$row['message'].'</div>';
echo '<br /><br />';
echo '</div>';
}
$conn = NULL;
// user chat
#$conn = new PDO('mysql:host='. DB_HOST .';dbname='. DB_NAME . ';charset=utf8', DB_USER, DB_PASS);
#$conn = new PDO('mysql:host=127.0.0.1;dbname=test;charset=utf8', root);
$user = 'root';
$pass = '';
$conn = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sth = $conn->prepare("SELECT * FROM live_chat WHERE user_id = :user_id");
$sth->bindValue(':user_id', '2', PDO::PARAM_INT);
$sth->execute();
foreach ($sth as $row) {
// Test message #1
echo '<div class="user_date">'.date('M j <b\\r/> H:i', strtotime($row['message_date'])).'</div>';
echo '<div class="user_bubble">'.$row['message'].'</div>';
echo '<br /><br />';
}
$conn = NULL;
echo '</div>';
?>所以你的屏幕就会像你想象的那样

https://stackoverflow.com/questions/28653888
复制相似问题