Einzelnen Beitrag anzeigen
  #3 (permalink)  
Alt 01-05-2018, 08:37
TheGateway
 Registrierter Benutzer
Links : Onlinestatus : TheGateway ist offline
Registriert seit: Sep 2005
Beiträge: 26
TheGateway ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von Kropff Beitrag anzeigen
Gibt es schon Code?

Gruß
Peter
ja gibt es, aber mehr schlecht als recht

hier mal meine variante, wenn du Verbesserungen hast würde ich die gerne haben wollen

PHP-Code:
// diese function liegt im timer drinn alle 1000ms
function checkMessages() {
    
//immer aktuelle messageid holen
    
aktuelleMessageID();
    

    if (
messageID lastReceivedId)
    {
        
//wenn aktuelle > als letzte dann hole nachrichten
    
getRoomMessages(roomIDlastReceivedId);
    }
    if (
messageID == lastReceivedId)
    {

    }
}

function 
sendTextToDB() {

    
posting = new Object();
                
posting.ac "5";
                
posting.messageText = $("#sendChatTextQ").val();
                
posting.fromID userID;
                
posting.userName = $("#userNameBox").val();
                
posting.roomID roomID;
                
posting.type "public";
                
        $.
post("include/actionLoader.php"posting, function(datastatus){
            
updateOnlineTime(); // in table userOnline
            
autoAwayTimeStop(); //status from 6 to 0 
});}


function 
getFirstMessageID() {
            
//hole letzte id von nachricht aus Datenbank und speicher in Var lastReceivedId
        
posting = new Object();
                
posting.ac "8";
                
posting.roomID = $('select#roomsByKatSelBox').val();                            
                $.
post("include/actionLoader.php"posting, function(datastatus){
                
lastReceivedId data;
                
                });

}

function 
aktuelleMessageID() {
            
//hole letzte id von nachricht aus Datenbank unbd speicher in var messageID
                
posting = new Object();
                
posting.ac "8";
                
posting.roomID = $('select#roomsByKatSelBox').val();                            
                $.
post("include/actionLoader.php"posting, function(datastatus){
                
messageID data;
                
                });

}
//hole nachrichten aus DB anhand der letzten ermittelten ID
function getRoomMessages(roomIDlastReceivedId) {
                
getFirstMessageID();
                
//fügt letzte messageID hinzu
                
posting = new Object();
                
posting.ac "11";
                
posting.roomID roomID;
                
posting.lastReceivedId lastReceivedId;
                
posting.userName = $("#userNameBox").val();
                            
                $.
post("include/actionLoader.php"posting, function(datastatus){
                
//$("#chatTextQ").empty();
                
                        // darf nur append mit neuerer id machen
                        //$("#chatTextQ").append(data);
                        
                        
                        
                        
checkMessageOptions(data);
                        
                        
                $(
"#chatTextQ").animate({scrollTop500 }, 'swing');
                    
                    
                    
                    
                
                    
                    
                });


Nachrichten Holen PHP
PHP-Code:
$roomID $_POST["roomID"];
    
$userName $_POST["userName"];
    
$lastReceivedId $_POST["lastReceivedId"];
    
$abfrage "select * from (SELECT * FROM messages WHERE roomID = '$roomID' AND type = 'public' Order By zeit DESC LIMIT 1) as tbl order by zeit";

  
mysql_query("SET NAMES 'utf8'");
  
$ergebnis mysql_query($abfrage); 

while(
$row mysql_fetch_object($ergebnis))
{
$messageID $row->messageID;
$userName $row->userName;
$messageText $row->messageText;

if (
$messageID $lastReceivedId)
{
    echo 
"<div id=\"$messageID\"><b>$userName:</b> $messageText</div>";
}


Geändert von TheGateway (01-05-2018 um 08:42 Uhr)
Mit Zitat antworten