1-во онлайн после другите

niksdevil

Registered
Искам да излизат 1-во потребителите ,който са записани в таблицата active_users
,а след това другите потребители

Ето кода
Код:
<?php 
$page=$_GET['page'];
$limit = 20;
$limit1 = $page * $limit;
$q = mysql_query("SELECT * FROM `users` WHERE `sex`='f' AND `pic`!='i/noavatar.gif ' LIMIT $limit1, $limit");
$i=1;
while($row=mysql_fetch_array($q)) {
?>
<td>
<ul class="profiles_list"> 
<li> 
<div class="thumb_header"> 
<div> 
<a href="<?php echo $row['username']; ?>"><img src="http://saita/online-img/msg_small.gif" alt="Прати писмо на този абонат" title="Изпрати съобщение на <?php echo $row['username']; ?>" border="0" /></a>
</div> 
<div> 

<img src="http://saita/online-img/online_small.gif" alt="<?php echo $row['username']; ?> е налиния" border="0" /> 
 
</div> 
<div> 
<a href="http://saita/<?php echo $row['username']; ?>" target="_blank" title="Отвори профила на <?php echo $row['username']; ?> в нов прозорец"><img src="http://saita/online-img/blank_small.gif" alt="Отвори профила на <?php echo $row['username']; ?> в нов прозорец" border="0" /></a> 
</div> 
</div> 
<div> <a href="http://saita/<?php echo $row['username']; ?>" title="<?php echo $row['username']; ?>"><img src="<?php echo $row['pic'];?>" class="profileImg" alt="<?php echo $row['username']; ?>" onmouseover="this.style.borderColor='#ff0066'" onmouseout="this.style.borderColor=''" /></a> 
</div> 
<div class="thumb_footer"><a href="http://saita/<?php echo $row['username']; ?>" title="<?php echo $row['username']; ?>"><?php echo $row['username']; ?></a></div> 
</li>
 
</center>
</td>
<?php	
if($i==5 or $i==10 or $i==15) {echo "</tr><tr>"; }
$i=$i+1;
}
?>
 
И къде е това active_users?
Ако е друга таблица със същата структура свържи ги в една заявка:
PHP:
mysql_query("SELECT * FROM `active_users` WHERE `sex`='f' AND `pic`!='i/noavatar.gif ' union all SELECT * FROM `users` WHERE `sex`='f' AND `pic`!='i/noavatar.gif ' LIMIT $limit1, $limit");
 
Ако в active_users имаш само активните и username ти е уникално:
mysql_query("SELECT CASE WHEN a.username THEN 0 ELSE 1 END as SortOrder, u.* FROM `users` u left join `active_users` a on a.username=u.username WHERE `sex`='f' AND `pic`!='i/noavatar.gif ' ORDER BY 1 LIMIT $limit1, $limit");

Ако в active_users добавяш всяко влизане:
mysql_query("SELECT (select username from `active_users` a where a.username=u.username and a.timestamp <now()-120 order by timestamp limit 1) as SortOrder, u.* FROM `users` u WHERE `sex`='f' AND `pic`!='i/noavatar.gif ' ORDER BY 1 LIMIT $limit1, $limit");

В двата случая си направи индекс по username в active_users. Във втория случай съм сложил както виждаш във where само влизанията по-млади от 2 минути да се броят за активни.
 
Дай create table за users и по 10 записа от всяка таблица експортнати в SQL формат.
 

Back
Горе