php mysql 聊天自动加载不工作 b/c 无法获取聊天 ID
php mysql chat autoload not working b/c can't get get chat id
所以我正在尝试创建一个 php mysql 聊天并且我在一个页面上但在实际聊天页面上使用 javascript load() 取得了成功,我无法让它工作 b/c 每个聊天都有附加到 URL 的聊天 ID (ch_id)(所以它看起来像 chats.php?ch_id=#) ... 当我尝试使用 load() 自动刷新聊天 window 时,它不会带来聊天 ID,因此页面刷新为空白。有什么想法吗?
代码:HTML
<div id="load_chat">
<?php include('load_chat.php'); ?>
</div>
PHP - load_chat.php 文件
<div class="scroller" style="height: 525px;" data-always-visible="1" data-rail-visible1="1">
<ul class="chats">
<?php
$chat = "SELECT * FROM chats WHERE ch_id = '".$ch_id."'";
$r_ch = mysqli_query($con, $chat);
$w_ch = mysqli_fetch_array($r_ch);
$get_chat = "SELECT * FROM chat_log WHERE ch_id = '".$ch_id."'";
$run_chat = mysqli_query($con, $get_chat);
while($row_chat = mysqli_fetch_array($run_chat)) {
$get_sender = "SELECT * FROM users WHERE u_id = '".$row_chat['u_id']."'";
$run_sender = mysqli_query($con, $get_sender);
$row_sender = mysqli_fetch_array($run_sender);
$get_rec = "SELECT * FROM users WHERE u_id = '".$row_chat['r_id']."'";
$run_rec = mysqli_query($con, $get_rec);
$row_rec = mysqli_fetch_array($run_rec);
?>
<li class='in'>
<img class='avatar' alt='' src='images/<?php echo "".$row_sender['u_img'].""; ?>' />
<div class='message'>
<a href='javascript:;' class='name'> <?php echo "".$row_sender['u_fn']." ".$row_sender['u_ln'].""; ?> </a>
<span class='datetime'> <?php echo "".date("g:i a", strtotime($row_chat['chat_sent'])).""; ?> </span>
<span class='body'> <?php echo "".$row_chat['c_cont'].""; ?> </span>
</div>
</li>
<?php
}
?>
</ul>
</div>
JAVASCRIPT
<script>setInterval(function() { ('#load_chat').load('load_chat.php'); }, 2000)</script>
澄清一下...'().load() 函数正在运行...但是当它刷新时,它会丢失聊天 ID (.com?ch_id=# URL) ...我想我的主要问题是,有没有办法将聊天 ID 传递到子文件夹/文件?该页面刷新特定页面(当启动新的聊天组时,会创建一个包含 php / mysql 查询以获取所有已记录聊天的文件),我需要将聊天 ID 传递给那些页面...我该怎么做?
感谢所有已经插话的人...我真的很感谢我从这个社区得到的所有帮助!!
在您的 PHP 主文件中,像这样将聊天 ID 传输到 JavaScript(最好在 <head>
中):
<script>var chat_id = <?= $ch_id ?>;</script>
现在使用
setInterval(function() { ('#load_chat').load('load_chat.php?ch_id=' + chat_id); }, 2000)
所以我正在尝试创建一个 php mysql 聊天并且我在一个页面上但在实际聊天页面上使用 javascript load() 取得了成功,我无法让它工作 b/c 每个聊天都有附加到 URL 的聊天 ID (ch_id)(所以它看起来像 chats.php?ch_id=#) ... 当我尝试使用 load() 自动刷新聊天 window 时,它不会带来聊天 ID,因此页面刷新为空白。有什么想法吗?
代码:HTML
<div id="load_chat">
<?php include('load_chat.php'); ?>
</div>
PHP - load_chat.php 文件
<div class="scroller" style="height: 525px;" data-always-visible="1" data-rail-visible1="1">
<ul class="chats">
<?php
$chat = "SELECT * FROM chats WHERE ch_id = '".$ch_id."'";
$r_ch = mysqli_query($con, $chat);
$w_ch = mysqli_fetch_array($r_ch);
$get_chat = "SELECT * FROM chat_log WHERE ch_id = '".$ch_id."'";
$run_chat = mysqli_query($con, $get_chat);
while($row_chat = mysqli_fetch_array($run_chat)) {
$get_sender = "SELECT * FROM users WHERE u_id = '".$row_chat['u_id']."'";
$run_sender = mysqli_query($con, $get_sender);
$row_sender = mysqli_fetch_array($run_sender);
$get_rec = "SELECT * FROM users WHERE u_id = '".$row_chat['r_id']."'";
$run_rec = mysqli_query($con, $get_rec);
$row_rec = mysqli_fetch_array($run_rec);
?>
<li class='in'>
<img class='avatar' alt='' src='images/<?php echo "".$row_sender['u_img'].""; ?>' />
<div class='message'>
<a href='javascript:;' class='name'> <?php echo "".$row_sender['u_fn']." ".$row_sender['u_ln'].""; ?> </a>
<span class='datetime'> <?php echo "".date("g:i a", strtotime($row_chat['chat_sent'])).""; ?> </span>
<span class='body'> <?php echo "".$row_chat['c_cont'].""; ?> </span>
</div>
</li>
<?php
}
?>
</ul>
</div>
JAVASCRIPT
<script>setInterval(function() { ('#load_chat').load('load_chat.php'); }, 2000)</script>
澄清一下...'().load() 函数正在运行...但是当它刷新时,它会丢失聊天 ID (.com?ch_id=# URL) ...我想我的主要问题是,有没有办法将聊天 ID 传递到子文件夹/文件?该页面刷新特定页面(当启动新的聊天组时,会创建一个包含 php / mysql 查询以获取所有已记录聊天的文件),我需要将聊天 ID 传递给那些页面...我该怎么做?
感谢所有已经插话的人...我真的很感谢我从这个社区得到的所有帮助!!
在您的 PHP 主文件中,像这样将聊天 ID 传输到 JavaScript(最好在 <head>
中):
<script>var chat_id = <?= $ch_id ?>;</script>
现在使用
setInterval(function() { ('#load_chat').load('load_chat.php?ch_id=' + chat_id); }, 2000)