jQuery与时间聊天 [英] jquery chat with time
问题描述
我在jquery,PHP和MySQLi上进行了一次简单的聊天...都工作正常,但是我也需要增加发送者消息的时间,例如
I have one simple chat worked with jquery, PHP and MySQLi... All working perfect, but I need too add time of sender message like
或
ps.如果我在错误的地方,请告诉我该怎么写以及在哪里写.
ps. If I am on wrong place please tell me how and where I can write.
如果有人要使用,这里是我文件中的所有代码
Here is all code what I have in files, if someone want to use
PHP文件 chat.php ,例如index.php
PHP file chat.php like index.php
<?php
require('chat/core.inc.php');
?>
<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
<link type="text/css" rel="stylesheet" href="public/css/main.css" />
</head>
<body>
<div id="input">
<div id="feedback"></div>
<form action="#" method="post" id="form_input">
<labele>Ime:<br /><input type="text" name="sender" id="sender" size="25"/></labele><br /><br />
<labele>Poruka:<br /><textarea id="message" cols="61" rows="3"/></textarea></labele><br />
<input type="submit" name="send" id="send" value="Posalji poruku"/>
</form>
</div>
<div id="messages">
</div>
<script type="text/javascript" src="script/js/jquery-1.11.3.min.js"></script>
<script type="text/javascript" src="script/js/auto_chat.js"></script>
<script type="text/javascript" src="script/js/send.js"></script>
在目录 script/php 中,我有文件 chat.php 和 send.php
chat.php
<?php
require('../../chat/baza/konekcija_db.php');
require('../../chat/funkcija/chat.func.php');
$messages = get_msg();
foreach($messages as $message)
{
echo '<strong>' .$message['sender'].' poslao:</strong><br />';
echo $message['message'].'<hr>';
}?>
send.php
<?php
require('../../chat/baza/konekcija_db.php');
require('../../chat/funkcija/chat.func.php');
if(isset($_GET['sender'])&&!empty($_GET['sender'])) {
$sender = $_GET['sender'];
if (isset($_GET['message'])&&!empty($_GET['message'])){
$message = $_GET['message'];
if(send_msg($sender, $message)){
echo 'Poruka je poslata';
} else{
echo 'Poruka nije poslata';
}
} else{
echo 'Poruka nije unijeta';
}
} else{
echo 'Ime nije unijeto';
}?>
在JS中,我要下一个:
In JS I have next:
auto_chat.js
auto_chat.js
$(document).ready(function(){
var interval = setInterval(function(){
$.ajax({
url: 'script/php/chat.php',
success: function(data){
$('#messages').html(data);
}
});
}, 1000);
});
send.js
$('#form_input').submit(function(){
var message = $('#message').val();
var sender = $('#sender').val();
$.ajax({
url: 'script/php/send.php',
data: { sender: sender, message: message},
success: function(data){
$('#feedback').html(data);
$('#feedback').fadeIn('slow', function() {
$('#feedback').fadeOut(6000);
});
$('#message').val('');
}
});
return false;
});
并下载了jquery-1.11.3.min
and downloaded jquery-1.11.3.min
现在放开我在数据库上已建立连接的文件夹聊天"
now lets go in folder Chat where I have connection on database
konekcija_db.php
konekcija_db.php
$db_host = 'localhost';
$db_user = 'root';
$db_pass = '';
$db_name = 'chat';
if($connection = mysql_connect($db_host, $db_user, $db_pass))
{
$feedback[] = 'Konekcija na Bazu...<br />';
if($database = mysql_select_db($db_name, $connection))
{
$feedback[] = 'Baza je selektovana... <br />';
}else
{
$feedback[] = 'Baza nije pronadjena!<br />';
}
}
else{
$feedback[] = 'Nije moguca konekcija na MYSQL server!<br />';
}?>
聊天功能
chat.func.php
chat.func.php
<?php
function get_msg(){
$query = "SELECT `Sender`, `Message` FROM `chat`.`chat` ORDER BY `Msg_ID` DESC";
$run = mysql_query($query);
$messages = array();
while($message = mysql_fetch_assoc($run)){
$messages[] = array('sender'=>$message['Sender'],
'message'=>$message['Message']);
}
return $messages;
}
function send_msg($sender, $message){
if(!empty($sender) && !empty($message)){
$sender = mysql_real_escape_string($sender);
$message = mysql_real_escape_string($message);
$query = "INSERT INTO `chat`.`chat` VALUES (null, '{$sender}', '{$message}')";
if($run = mysql_query($query)){
return true;
} else{
return false;
}
}else{
return false;
}
}?>
和最后一个文件core.inc.php
and last file core.inc.php
<?php
$feedback = array();
require('chat/baza/konekcija_db.php');
require('chat/funkcija/chat.func.php');
?>
推荐答案
我用代码解决了这个问题
Well I solved this problem with code
ps.就像说Iwan1993一样,但是在我途中
ps. similary like say Iwan1993 but on my way
数据库中类型为 datetime
下一步更改了选择
$query = "SELECT `Sender`, `Message`, DATE_FORMAT(`time`,'%d.%m.%Y/%H:%i:%s') as 'time' FROM `chat`.`chat` ORDER BY `Msg_ID` DESC";
然后改变了
while($message = mysql_fetch_assoc($run)){
$messages[] = array('sender'=>$message['Sender'],
'message'=>$message['Message'],
'time'=>$message['time']);
下一步更改了INSERT
next changed INSERT
$query = "INSERT INTO `chat`.chat(Msg_ID,Sender, Message) VALUES (null, '{$sender}', '{$message}')";
然后在chat.php中添加
and in chat.php added next
$messages = get_msg();
foreach($messages as $message)
{
echo '<strong>' .$message['sender'].' send:</strong><br />';
echo $message['message'].'<br>';
echo '[' .$message['time'].']';
}
这篇关于jQuery与时间聊天的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!