Последна активност

niksdevil

Registered
Ето как вадя коментарите


SELECT `date`, `ot`, `text`, `status`, `pic`, `users_comm`.`id` FROM `users_comm`
INNER JOIN `users` ON `users`.`username`=`users_comm`.`ot` WHERE `user`='$req_user' ORDER by `id` DESC LIMIT $limit1, $limit
");

Искам да изкарам и последната активност от таблицата

CREATE TABLE `aktiw` (
`id` int(11) NOT NULL auto_increment,
`user` varchar(25) collate utf8_unicode_ci NOT NULL,
`timestamp` text collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=186227 ;

:roll:
 
timestamp полето го сравняваш с времето в момента:
PHP:
if (time()-60 <= $row['timestamp'])
{
echo 'Online';
}
else
{
echo 'Offline';
}
:?:
 
ако я join-не ще повтори коментарите. може би така е по-добре:

SELECT `date`, `ot`, `text`, `status`, `pic`, `users_comm`.`id`,
(select timestamp from aktiw a where a.username=users_comm.ot order by timestamp desc limit 1) as LastAktiw
FROM `users_comm`
INNER JOIN `users` ON `users`.`username`=`users_comm`.`ot`
WHERE `user`='$req_user' ORDER by `id` DESC LIMIT $limit1, $limit
 
palex каза:
ако я join-не ще повтори коментарите. може би така е по-добре:

SELECT `date`, `ot`, `text`, `status`, `pic`, `users_comm`.`id`,
(select timestamp from aktiw a where a.username=users_comm.ot order by timestamp desc limit 1) as LastAktiw
FROM `users_comm`
INNER JOIN `users` ON `users`.`username`=`users_comm`.`ot`
WHERE `user`='$req_user' ORDER by `id` DESC LIMIT $limit1, $limit
Ако проработи, да може би е по-добре. :D
 
На palex кода не проработи

Ето кода s inner-a нещо не мога да се оправя

замених с на palex ,но както казах не проработи:

Код:
<?php
$page=$_GET['page'];
$limit = '10';
$limit1 = $page * $limit;
$sql = mysql_query("
SELECT `date`, `ot`, `text`, `status`, `pic`, `users_comm`.`id` FROM `users_comm` 
INNER JOIN `users` ON `users`.`username`=`users_comm`.`ot` WHERE `user`='$req_user' ORDER by `id` DESC LIMIT $limit1, $limit
");
if($a['number']==0) {
	echo "<tr><td><center>Все още няма коментари. Напиши първия ;-)</center></td></tr>";
}
while($row = mysql_fetch_array($sql)) { 
?>

<div id="comment1"> 
<div> 
<div style="padding-bottom:20px;"> 
<div class="comentW"><strong><a href="<?php echo $row['ot']; ?>" onmouseover="showPopUp(event,'<div class="popInfoBg"> <img src="<?echo "$row[pic]";?>" alt="<?php echo $row['ot']; ?>" class="profileImg" /> <h4> <?php echo $row['ot']; ?></h4> <div>от Otka4alki Town , България</div> <span>Аз съм <strong>N/A</strong> и търся <strong>каквото има</strong>.</span> <div><strong>Последна активност:

Кода аз ще си го оправя

</strong> Скоро  </div> <h4></h4> <div></div> </div>');" onmouseout="hidePopUp();"><?php echo $row['ot']; ?></a> , написа:</strong></div> 
<div class="comentDate"><img src="http://otka4alki.wtf.la/profila/clock.gif" alt="публикуван Час" />
 
добре де сбъркал съм едно поле:

SELECT `date`, `ot`, `text`, `status`, `pic`, `users_comm`.`id`,
(select timestamp from aktiw a where a.user=users_comm.ot order by timestamp desc limit 1) as LastAktiw
FROM `users_comm`
INNER JOIN `users` ON `users`.`username`=`users_comm`.`ot`
WHERE `user`='$req_user' ORDER by `id` DESC LIMIT $limit1, $limit
 
Ето кода който използвам за времето как да изкарам сега активноста?

<?
function TimeElapsed($time)
{
$t = strtotime('now') - $time;
if ($t > 0) {
$y = (int)strftime('%Y', $t) - 1970;
if ( $y > 0 )
return ( $y - 1970 ) . ' ' . ( $y == 1 ? 'година' : 'години' );

$m = (int)strftime('%m', $t) - 1;
if ( $m > 0 )
return $m . ' ' . ( $m == 1 ? 'месец' : 'месеца' );

$w = (int)strftime('%W', $t);
if ( $w > 0 )
return $w . ' ' . ( $w == 1 ? 'седмица' : 'седмици' );

$d = (int)strftime('%d', $t) - 1;
if ( $d > 0 )
return $d . ' ' . ( $d == 1 ? 'ден' : 'дни' );

$H = (int)strftime('%H', $t) - (int)strftime('%H', 0);
if ( $H > 0 )
return $H . ' ' . ( $H == 1 ? 'час' : 'часа' );

$M = (int)strftime('%M', $t);
if ( $M > 0 )
return $M . ' ' . ( $M == 1 ? 'минута' : 'минути' );

$S = (int)strftime('%S', $t);
if ( $S > 0 )
return $S . ' ' . ( $S == 1 ? 'секунда' : 'секунди' );
} else {
return '0 сек.';
}
}
echo "";
echo TimeElapsed(strtotime($row['timestamp']));
echo "</b>";

?>
 
Може ли да поясниш какво точно очакваш като резултат? В началото на темата си мислех, че въпроса ти е по SQL заявката, но като гледам тази функция си мисля че не съм те разбрал. По принцип поправих за явката и малко по-нагоре съм ти пуснал оригирана - не знам дали забеляза.
 

Back
Горе