Перейти к публикации

DJ Rain

новички
  • Публикации

    14
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные пользователем DJ Rain

  1. я наверное неправильно все обьяснил, я делаю чат и делаю такую функцию, когда юзер заходит в чат, что бы ему показывало 10 последних сообщений, а поскольку восновном вовсех чатах сообщения пишутся сверху вниз, то возникла проблема, ведь когда функция

    $GET = mysql_query("SELECT * FROM chat order by id desc limit 0,10");

    вставляет сообщения, то она первым пишет самое последнее сообщение, как сделать так чтобы первым шло сообщение на 10 раньше т последнего ???

  2. Для получения из базы данных 5 последних записей используеться зарос типа

    $GET = mysql_query("SELECT * FROM table order by id desc limit 0,5");

    в результате чего из базы данных выбераются записи по порядку:

    Запись "1"

    Запись "2"

    Запись "3"

    Запись "4"

    Запись "5"

    теперь вопрось, как сделать, что бы выбирались 5 последних записей в обратном порядке ??

    Запись "5"

    Запись "4"

    Запись "3"

    Запись "2"

    Запись "1"

  3. Пмагите, я делаю чат и столкнулся с такой проблеммой, нужно когда юзер заходит, что бы у него высвечивалось 20 последних сообщений, я сделал это так:

    $sql = "SELECT * FROM chat order by id desc limit 0,20";
    
    $result = mysql_query($sql);
    
    $number = MYSQL_NUMROWS($result);
    
    $i = 0;
    
    
    for($i = 0; $i < $number; $i++)
    
    	{
    
    $date = mysql_result($result, $i, "name");
    
    $msg3 = mysql_result($result, $i, "msg");
    
    
    	}
    
    
    $msg.= "<span class=date>$date</span>";
    
    $msg2.= $msg3;
    
    
    ?>
    и вот этим скриптом передаю сообщения в фрейм сообщений
    <script>
    
    parent.msg.p.innerHTML += "<?echo $msg?>&nbsp;<?echo $msg2?><br>";
    
    </script>

    Но проблемма в отм, что он сабака передает только одно сообщение, памагите кто может !! :(

  4. Я сейчас пишу чат на РНР + MySQL и вот столкнулся с такой проблемой, мне нужно когда юзер зашол в чат, чтобы увидел 20 последних сообщений, в приципе все советуют писать все сообщения в текстовое документ, а патом их выгребать оттудава таким типом

    $num=20;

    if ($count>$num)

    {

    for ($i=($count-$num); $i<$count; $i++)

    {

    $str = $str.$file[$i];

    $str=ereg_replace("

    ","

    ",$str);

    }

    $fp=fopen("chat.txt","w");

    fwrite($fp,$str);

    }

    , но у меня все сообщения пишутся в базу мускула, как мне сделать чтобы при входе юзера, он видел 20 последних сообщений ??

  5. Вот код

    <?
    
    session_start();
    
    global $d, $lastpost, $lastpost1, $top;
    
    ?>
    
    <body onLoad="parent.msg.window.scroll(0, 9999999);" topMArgin=0>
    
    <?
    
    print "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"15\"; URL=\"refresh.php\">\n";
    
    include "conf.php";
    
    include "on.php";
    
    include "functions.php";
    
    
    if($break == 1){
    
    print "<script>top.location.href='index.php'</script>";
    
    }
    
    
    $data = mysql_connect($base_name, $base_user, $base_pass);
    
    mysql_select_db($db_name,$data);
    
    $sql = "SELECT * FROM users WHERE login='$login'";
    
    $result = mysql_query($sql);
    
    $db = mysql_fetch_array($result);
    
    
    
    
    $base_room=$db['room'];
    
    $city=$db['city_game'];
    
    
    testZayavka($login);
    
    
    if($db['battle']!=0){
    
    print "<script>parent.msg.innerHTML+='".$_SESSION['battle_ref']."<BR>'</script>";
    
    		if($db['battle_opponent'] != "" && $_SESSION['battle_ref'] == 0){
    
    		 print "<script>top.main.location.reload()</script>";
    
    	 $_SESSION['battle_ref'] = 1;
    
    	 }
    
    }
    
    
    /*================ГЕНЕРАЦИЯ СПИСКА ЧАТОВЦЕВ=================*/
    
    $online = 0;
    
    
    $R_ONLINE = mysql_query("SELECT * FROM online WHERE room ='$room'");
    
    $room_online = 1;
    
    		while(mysql_fetch_array($R_ONLINE)){
    
    		$room_online++;
    
    		}
    
    
    
    
    $user_list = " <center><INPUT TYPE='image' src=img/chat_img/realchat1.gif border='0' onClick='java script:location.reload();'></center><br>";
    
    
    
    
    
    $SEARCH = mysql_query("SELECT * FROM online WHERE login = '$login'");
    
    
    		if(mysql_fetch_array($SEARCH)){$online = 1;}
    
    
    
    		if($online == 0){
    
    		$time = time();
    
    		$INSERT = mysql_query("INSERT INTO online(city,room,login,last_time) VALUES('$city','$room','$login','$time')");
    
    		}
    
    		else if($online == 1){
    
    		$time = time();
    
    		$UPDATE = mysql_query("UPDATE online SET last_time = '$time',room='$room' WHERE login = '$login'");
    
    		}
    
    
    $CLEAR = mysql_query("SELECT * FROM online");
    
    
    		while($DATA = mysql_fetch_array($CLEAR)){
    
    		$min_time = time() - $DATA['last_time'];
    
    				if($min_time>20){
    
    				$CLEAR_LOGIN = $DATA['login'];
    
    				$DELETE = mysql_query("DELETE FROM online WHERE login='$CLEAR_LOGIN'");
    
    				}
    
    		}
    
    
    
    $LIST = mysql_query("SELECT * FROM online WHERE city='$city' AND room='$room' ORDER by login ASC");
    
    		while($DATA = mysql_fetch_array($LIST)){
    
    		$log1 = $DATA['login'];
    
    		$l	   = "SELECT * FROM users WHERE login='$log1'";
    
    		$ll	  = mysql_query($l);
    
    		$res	 = mysql_fetch_array($ll);
    
    		$lev	 = $res['level'];
    
    		$orden_d = $res['orden'];
    
    		$clan_s  = $res['clan_short'];
    
    		$clan_f  = $res['clan'];
    
    		$travm   = $res['travm'];
    
    		$log	 = $res['login_sec'];
    
    		$bid	 = $res['battle'];
    
    	$sex	 = $res['sex'];
    
    	$cvet_nikc	 = $res['cvet_nikc'];
    
    
    
    
    
    		if($res['shut']!=0){
    
    		$mol = "<img src='img/sleep2.gif' alt='Персонажу запрещено общение'>";
    
    		}
    
    		else{$mol="&nbsp";}
    
    
    		if($res['travm']!=0){
    
    		$travm_i = "<img src='img/travma2.gif' alt='У персонажа травма'>";
    
    		}
    
    		else{$travm_i="&nbsp";}
    
    
    				if($sex==male){$sex_2="<img src='img/chat_img/$sex.gif' width=16 height=21 border=0 >";}
    
    				else if($sex==female){$sex_2="<img src='img/chat_img/$sex.gif' width=16 height=21 border=0 >";}
    
    				else if($orden_d==3){$orden_dis="Орден Феникса.";}
    
    				else if($orden_d==4){$orden_dis="Орден Друидов.";}
    
    				else if($orden_d==5){$orden_dis="Тюремный заключеный.";}
    
    				if(empty($clan_s)){$clan="";}
    
    				else{$clan="<img src='img/clan/$clan_s.gif' width=24 height=15 border=0 alt='$clan_f'>";}
    
    				if(empty($orden_d)){$orden="<img src='im/orden.gif' width=24 height=15>";}
    
    				else{$sex_2="<img src='img/chat_img/$sex.gif' width=16 height=21 border=0 >";}
    
    
    		$login_hr = str_replace(" ","%20",$log);
    
    		$log2 = str_replace(" ","%20",$log);
    
    
    		$user_list .= "&nbsp<a href=java script:private('$login_hr')><img border=0 src=img/arrow3.gif alt='Приватное сообщение' width=11 height=11></a>&nbsp$sex_2&nbsp<font color='$nick_color'><a href=java script:to('$log2'); class=nick>$log</a></font>$travm_i$mol<br>";
    
    
    		}
    
    
    ?>
    
    <script>
    
    parent.user.user_list.innerHTML = "<?echo $user_list?>";
    
    </script>
    
    <?
    
    /*==========================================================*/
    
    
    $chat = "";
    
    
    if($db['chat_s']!=2){
    
    
    		$chas = date("H");
    
    		$minute = date("i");
    
    		$mes = date("m");
    
    		$dat = date("d");
    
    		$year = date("Y");
    
    
    
    	 $d=date("H:i:s",mktime($chas-$GSM));
    
    
    $S = mysql_query("SELECT * FROM chats");
    
    $c = mysql_num_rows($S);
    
    
    
    		if(empty($act)){$act="";}
    
    
    $last = $_SESSION['last'];
    
    
    		if(empty($last))
    
    		{
    
    		$last = time();
    
    		session_register('last');
    
    		}
    
    
    
    
    $sm=array();
    
    $sm[0]='s1';
    
    $sm[1]='face2';
    
    $sm[2]='face3';
    
    $sm[3]='face4';
    
    $sm[4]='face5';
    
    $sm[5]='fingal';
    
    $sm[6]='evil';
    
    $sm[7]='batman';
    
    $sm[8]='adolf';
    
    $sm[9]='am';
    
    $sm[10]='angel';
    
    $sm[11]='cool';
    
    $sm[12]='coolman';
    
    $sm[13]='crazy';
    
    $sm[14]='devil';
    
    $sm[15]='aplause';
    
    $sm[16]='ha';
    
    $sm[17]='help';
    
    $sm[18]='happy';
    
    $sm[19]='hello';
    
    $sm[20]='ill';
    
    $sm[21]='hummer2';
    
    $sm[22]='music';
    
    $sm[23]='newyear';
    
    $sm[24]='ogo';
    
    $sm[25]='police';
    
    $sm[26]='police2';
    
    $sm[27]='prise';
    
    $sm[28]='punk';
    
    $sm[29]='ravvin';
    
    $sm[30]='ravvin2';
    
    $sm[31]='rupor';
    
    $sm[32]='scare';
    
    $sm[33]='king';
    
    $sm[34]='sleep';
    
    $sm[35]='song';
    
    $sm[36]='strong';
    
    $sm[37]='student';
    
    $sm[38]='goodnigth';
    
    $sm[39]='fuu';
    
    $sm[40]='girl';
    
    $sm[41]='inlove';
    
    $sm[42]='kiss1';
    
    $sm[43]='lick';
    
    $sm[44]='lips';
    
    $sm[45]='two';
    
    $sm[46]='pare';
    
    $sm[47]='fuck';
    
    $sm[48]='dinner';
    
    $sm[49]='friday';
    
    $sm[50]='drink';
    
    $sm[51]='beer';
    
    $sm[52]='cola';
    
    $sm[53]='killed';
    
    $sm[54]='throwout';
    
    $sm[55]='boxing';
    
    $sm[56]='duel';
    
    $sm[57]='gun1';
    
    $sm[58]='gun2';
    
    $sm[59]='gun_1';
    
    $sm[60]='hummer';
    
    $sm[61]='jack';
    
    $sm[62]='kill';
    
    $sm[63]='knut';
    
    $sm[64]='matrix';
    
    $sm[65]='med';
    
    $sm[66]='ninja';
    
    $sm[67]='nunchak';
    
    $sm[68]='t2';
    
    $sm[69]='terminator';
    
    $sm[70]='training';
    
    $sm[71]='trio';
    
    $sm[72]='user';
    
    $sm[73]='censored';
    
    $sm[74]='compkill';
    
    $sm[75]='helloween';
    
    $sm[76]='lock';
    
    $sm[77]='lol';
    
    $sm[78]='loo';
    
    $sm[79]='mol';
    
    $sm[80]='nuclear';
    
    $sm[81]='yo';
    
    $sm[82]='dollar';
    
    $sm[83]='heart';
    
    $sm[84]='luck';
    
    $sm[85]='mac';
    
    $sm[86]='win';
    
    $sm[87]='rip';
    
    $sm[88]='student';
    
    $sm[89]='bye';
    
    $sm[90]='baby';
    
    $sm[91]='man_hat';
    
    $sm[92]='kiss';
    
    $sm[93]='1';
    
    $sm[94]='2';
    
    $sm[95]='3';
    
    $sm[96]='4';
    
    $sm[97]='5';
    
    $sm[98]='6';
    
    $sm[99]='7';
    
    $sm[100]='8';
    
    $sm[101]='9';
    
    $sm[102]='10';
    
    $sm[103]='11';
    
    $sm[104]='12';
    
    $sm[105]='13';
    
    $sm[106]='14';
    
    $sm[107]='15';
    
    $sm[108]='16';
    
    $sm[109]='17';
    
    $sm[110]='18';
    
    $sm[111]='19';
    
    $sm[112]='20';
    
    $sm[113]='21';
    
    $sm[114]='22';
    
    $sm[115]='23';
    
    $sm[116]='24';
    
    $sm[117]='25';
    
    $sm[118]='26';
    
    $sm[119]='27';
    
    $sm[120]='28';
    
    $sm[121]='29';
    
    $sm[122]='30';
    
    $sm[123]='31';
    
    $sm[124]='32';
    
    $sm[125]='33';
    
    $sm[126]='34';
    
    $sm[127]='35';
    
    $sm[128]='36';
    
    $sm[129]='37';
    
    $sm[130]='38';
    
    $sm[131]='39';
    
    $sm[132]='40';
    
    $sm[133]='41';
    
    $sm[134]='42';
    
    $sm[135]='43';
    
    $sm[136]='44';
    
    $sm[137]='45';
    
    $sm[138]='46';
    
    $sm[139]='47';
    
    $sm[140]='49';
    
    $sm[141]='50';
    
    $sm[142]='51';
    
    $sm[143]='52';
    
    $sm[144]='53';
    
    $sm[145]='54';
    
    $sm[146]='55';
    
    $sm[147]='56';
    
    $sm[178]='57';
    
    $sm[149]='58';
    
    $sm[150]='59';
    
    $sm[151]='60';
    
    $sm[152]='61';
    
    $sm[153]='62';
    
    $sm[154]='63';
    
    $sm[155]='64';
    
    $sm[156]='65';
    
    $sm[157]='66';
    
    $sm[158]='67';
    
    $sm[159]='68';
    
    $sm[160]='69';
    
    $sm[161]='70';
    
    $sm[162]='71';
    
    $sm[163]='72';
    
    $sm[164]='73';
    
    $sm[165]='74';
    
    $sm[166]='75';
    
    $sm[167]='76';
    
    $sm[168]='77';
    
    $sm[169]='78';
    
    $sm[170]='79';
    
    $sm[171]='80';
    
    $sm[172]='81';
    
    $sm[173]='82';
    
    $sm[174]='83';
    
    $sm[175]='84';
    
    $sm[176]='85';
    
    $sm[177]='86';
    
    $sm[178]='87';
    
    $sm[179]='88';
    
    $sm[180]='89';
    
    $sm[181]='90';
    
    $sm[182]='91';
    
    $sm[183]='92';
    
    $sm[184]='93';
    
    $sm[185]='94';
    
    $sm[186]='95';
    
    $sm[187]='96';
    
    $sm[188]='97';
    
    $sm[189]='98';
    
    $sm[190]='99';
    
    $sm[191]='100';
    
    $sm[192]='101';
    
    $sm[193]='102';
    
    $sm[194]='103';
    
    $sm[195]='104';
    
    $sm[196]='105';
    
    $sm[197]='106';
    
    $sm[198]='107';
    
    $sm[199]='108';
    
    $sm[200]='109';
    
    $sm[201]='110';
    
    $sm[202]='111';
    
    $sm[203]='112';
    
    $sm[204]='113';
    
    $sm[205]='114';
    
    $sm[206]='115';
    
    $sm[207]='116';
    
    $sm[208]='48';
    
    
    
    
    // print "$last";
    
    $GET = mysql_query("SELECT * FROM chat WHERE date_stamp>$last "); 
    
    while($DATA = mysql_fetch_array($GET)){
    
    $msg = $DATA['msg'];
    
    $date = $DATA['date'];
    
    $sender = $DATA['name'];
    
    
    $_SESSION['last'] = $DATA['date_stamp'];
    
    
    
    $sender=str_replace("sys","<span class=sysm>",$sender);
    
    $sender2=str_replace(" ","%20",$sender);
    
    $date=str_replace("begSys","<span class=sysm>",$date);
    
    $msg=str_replace("begSys2","</span><span class=sysm>",$msg);
    
    $msg=str_replace("endSys2","</span>",$msg);
    
    $msg=str_replace("private [","<a href=java script:private('$sender2')><span class=private>private [",$msg);
    
    $msg=str_replace("]","]</a></span>",$msg);
    
    $msg=str_replace("endSys","</span>",$msg);
    
    
    		for($g=0;$g<count($sm);$g++){
    
    		$msg=str_replace("*{$sm[$g]}*","&nbsp;<img src='img/smiles/{$sm[$g]}.gif' border=0 alt='*{$sm[$g]}*'>",$msg);
    
    		}
    
    
    
    
    $to	= "to [$login]";
    
    $private = "private [$login]";
    
    $sys = "SysMs";
    
    $mystring = $msg;
    
    $pos = strpos($mystring, $to);
    
    $pos2 = strpos($mystring, $private);
    
    $pos4 = strpos($mystring, $sys);
    
    $comstring = "[$login] $msg";
    
    $comstring2 = "to [$sender] $msg";
    
    echo "результат поиска $sys в $mystring: pos4=$pos4";
    
    	if($pos2!=false){
    
    		$sender2=str_replace(" ","%20",$sender);
    
    		$chat.= "<span class=date2>$date</span> <a href=java script:to('$sender2') class=nick><font color=#990000>[$sender]</a></font> <span class=msg>$msg</span><BR>";
    
    		}
    
    		if ($pos != false) {
    
    		$sender2=str_replace(" ","%20",$sender);
    
    		$chat.= "<span class=date2>$date</span> <a href=java script:to('$sender2') class=nick><font color=#009900>[$sender]</a></font> <span class=msg>$msg</span><BR>";
    
    		}
    
    
    		else if($pos4 != false){
    
    				if($sender=="toall"){
    
    				$msg=str_replace($sys,"<span class=sysm>&nbsp",$msg);
    
    				$msg=str_replace("endSys","</span>",$msg);
    
    				$chat.= "<span class=date>$date</span>$msg<BR>";
    
    				}
    
    				else if($login!=$sender){
    
    				$chat.= "";
    
    				}
    
    			   else if($login==$sender){
    
    				$msg=str_replace($sys,"<span class=sysm>&nbsp",$msg);
    
    				$msg=str_replace("endSys","</span>",$msg);
    
    				$chat.= "<span class=date2>$date</span>$msg<BR>";
    
    				}
    
    
    		}
    
    		else{
    
    		$p = "private [";
    
    		$pos3=strpos($mystring,$p);
    
    				if($pos3!=false and $sender!=$login){
    
    				print "";
    
    				}
    
    				else if($db['chat_s']==0){
    
    				$sender2=str_replace(" ","%20",$sender);
    
    				$msg=str_replace("private [","<a href=java script:private('$sender2')><span class=private>private [",$msg);
    
    				$msg=str_replace("]","]</span></a>",$msg);
    
    				$chat.= "<span class=date>$date</span> <a href=java script:to('$sender2') class=nick>[$sender]</a> <span class=msg>$msg</span><BR>";
    
    				}
    
    
    
    		}
    
    
    }
    
    // echo $chat;
    
    
    
    
    
    ?>
    
    
    
    
    
    <script language="JavaScript">
    
    if (parent.msg.p){
    
    tmp = parent.msg.p.innerHTML;
    
    parent.msg.p.innerHTML += "<? echo $chat ?>";
    
    }
    
    </script>
    
    
    
    
    <?
    
    }
    
    else if($db['chat_s']==2){
    
     $_SESSION['last'] = time();
    
    }
    
    ?>

  6. Ну во первых не у каждого есть такой скрипт игры.

    Во вторых надо знать как работает этот чат (Если с БД то проще) если же как-то ещё хотя ещё вариантов мало. То уже будет сложней.

    игра работает с мускулом ))

  7. Я щас ковыряю он-лайн игру be warrior и столкнулся с такой проблемой, как мне сделать что бы юзер када захадис в чат видел последние 10 сообщений и в чате при заходе нового юзера шоб писалось типа "В чат заходит такойто юзер" ПАМАГТЕ ПЛИИИИЗ !! :rolleyes:

×
×
  • Создать...