jQuery与时间聊天 [英] jquery chat with time

查看:44
本文介绍了jQuery与时间聊天的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆