[Release] Rufchat auf der Homepage anzeigen

02/23/2013 12:49 .SeveN#1
Hallo, ich hatte gerade in Skype ne Nachricht bekommen, das jmd. ein Script suche, wo der Rufchat auf der Homepage wieder gespiegelt wird. Da ich eh Langeweile hatte, habe ich dies schnell gemacht und möchte es gerne auch mit euch teilen. ( Ich entschuldige mich, wenn es solch ein Script schonmal geben sollte, habe mich nicht weiter damit beschäftigt. )

Naja viel gibts nichtmehr zu sagen :D

Hier das Script (chat.php) :

PHP Code:
<script type="text/javascript">
    $(document).ready(function(){
        $('#s_loading').hide();
    });
    
    function s_refresh(){
        setTimeout(function(){$("#reload").slideUp(300);},200);
        setTimeout(function(){$('#s_loading').show();},200);
        setTimeout(function(){$('#s_loading').hide();},1250);
        setTimeout(function(){$("#reload").slideDown(300);},1200);
    }
</script>
<h2>Ingame Rufchat</h2>

<?php if(isset($_SESSION['user_id'])) { ?>
    <img src="img/loading_bar.gif" width="192" height="12" id="s_loading"/>
        <div id="reload">
<table>
    <tr>
          <th class="topLine" width="130px;">Datum</th>
          <th class="topLine">Nachricht</th>
    </tr>
<?php
    $rufChat 
mysql_query("SELECT time, shout FROM log.shout_log ORDER BY time DESC LIMIT 15");
    
    while(
$row mysql_fetch_assoc($rufChat)) {
                echo
'<tr>';
                    echo 
'<td class="thell">'.$row['time'].'</td>';
                    echo 
'<td class="thell"><b>'.$row['shout'].'</b></td>';
                echo
'</tr>';
            }
?>
</table>
        </div>
<!-- Reload -->
    <a href="index.php?s=chat" style="float:right;" onClick="s_refresh();">Aktualisieren</a>
<?php } else { echo '<p>Sie müssen für diesen Bereich angemeldet sein!</p>'; } ?>
[Only registered and activated users can see links. Click Here To Register...]

Meine shout_log ( Ich denke mal die hat jeder, aber hier ist nochmal meine. ) :

Code:
SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for `shout_log`
-- ----------------------------
DROP TABLE IF EXISTS `shout_log`;
CREATE TABLE `shout_log` (
  `time` datetime DEFAULT '0000-00-00 00:00:00',
  `channel` tinyint(4) DEFAULT NULL,
  `empire` tinyint(4) DEFAULT NULL,
  `shout` varchar(64) DEFAULT NULL,
  KEY `time_idx` (`time`)
) ENGINE=MyISAM DEFAULT CHARSET=big5;

-- ----------------------------
-- Records of shout_log
-- ----------------------------
INSERT INTO `shout_log` VALUES ('2013-02-23 16:28:01', '1', '3', '[Dev]Seven : Moin');
INSERT INTO `shout_log` VALUES ('2013-02-21 12:04:23', '2', '3', '[Dev]Seven : Test');
INSERT INTO `shout_log` VALUES ('2013-02-01 12:22:26', '1', '3', '[Dev]Seven : Seven :)');
Villt. könnt ihr was mit dem Script anfangen, villt. aber auch nicht.

Mfg
Seven


UPDATE :

Quote:
Originally Posted by .Punkt. View Post
Sieht gut aus könntest du vielleicht noch hinzufügen welchem Reich der Spieler angehört der die Nachricht gesendet hat?
Ja, kann man!

Hier das Script mit der Reichsanzeige (chat.php) :

PHP Code:
<script type="text/javascript">
    $(document).ready(function(){
        $('#s_loading').hide();
    });
    
    function s_refresh(){
        setTimeout(function(){$("#reload").slideUp(300);},200);
        setTimeout(function(){$('#s_loading').show();},200);
        setTimeout(function(){$('#s_loading').hide();},1250);
        setTimeout(function(){$("#reload").slideDown(300);},1200);
    }
</script>
<h2>Ingame Rufchat</h2>

<?php if(isset($_SESSION['user_id'])) { ?>
    <img src="img/loading_bar.gif" width="192" height="12" id="s_loading"/>
        <div id="reload">
<table>
    <tr>
          <th class="topLine" width="130px;">Datum</th>
          <th class="topLine">Nachricht</th>
        <th class="topLine" width="40px;">Reich</th>
    </tr>
<?php
    $rufChat 
mysql_query("SELECT time, shout, empire FROM log.shout_log ORDER BY time DESC LIMIT 15");
    
    while(
$row mysql_fetch_assoc($rufChat)) {
                echo
'<tr>';
                    echo 
'<td class="thell">'.$row['time'].'</td>';
                    echo 
'<td class="thell"><b>'.$row['shout'].'</b></td>';
                    if (
$row['empire'] == 1){
                        echo 
'<td class="thell"><font color="#941818">Shinso</font></td>';
                        }
                            elseif (
$row['empire'] == 2){
                            echo 
'<td class="thell"><font color="#947818">Chunjo</font></td>';
                        }
                            elseif (
$row['empire'] == 3){
                            echo 
'<td class="thell"><font color="#186394">Jinno</font></td>';
                        }
                echo
'</tr>';
            }
?>
</table>
        </div>
<!-- Reload -->
    <a href="index.php?s=chat" style="float:right;" onClick="s_refresh();">Aktualisieren</a>
<?php } else { echo '<p>Sie müssen für diesen Bereich angemeldet sein!</p>'; } ?>
[Only registered and activated users can see links. Click Here To Register...]

Wenn ihr ne schöne Lade Animation haben wollt :

[Only registered and activated users can see links. Click Here To Register...]

Einfach in das /img Verzeichnis ziehn.
02/23/2013 12:51 .Remix#2
Sieht nice aus.
Danke für's Release.
02/23/2013 13:05 *~.ιηνιη¢ιвℓє.~*#3
nice, danke :)
02/23/2013 13:49 -TÜRK-#4
nice release. i saw it a turkish pvp.. (from 2012)
02/23/2013 13:51 .Punkt.#5
Sieht gut aus könntest du vielleicht noch hinzufügen welchem Reich der Spieler angehört der die Nachricht gesendet hat?
02/23/2013 13:51 _Layesd#6
Sehr nice danke.
02/23/2013 14:18 lfcmaus#7
lädt bei mir nicht richtig bei jeden zweiten aktualisieren springt er aufen index
02/23/2013 14:19 Aze /..#8
Geiler Scheiß o0
02/23/2013 14:26 vıo#9
Überlastet es nicht (bei zu hoher Spams) die HP? ;s
02/23/2013 15:16 .Onlyx3#10
n1

Danke
02/23/2013 15:22 .૯υρɧoгĭα™#11
wow kann man gut brauchen :-)
02/23/2013 15:48 xxmehmetcc#12
Very good danke......
02/23/2013 16:13 Al.Pacino#13
Quote:
Originally Posted by vıo View Post
Überlastet es nicht (bei zu hoher Spams) die HP? ;s
Er selected nur die 15 letzten Einträge.
02/23/2013 16:14 lfcmaus#14
Quote:
Originally Posted by Al.Pacino View Post
Er selected nur die 15 letzten Einträge.
reicht doch vollkommen

kannste außerdem ändern ....


Quote:
$rufChat = mysql_query("SELECT time, shout FROM log.shout_log ORDER BY time DESC LIMIT 15");
02/23/2013 16:15 Sintiax#15
Danke Seven :handsdown: