Со вторым кодом разобрался, правильный вариант
<?
$of=array_reverse(file(ROOT.'data/online.dat'));
$total=count($of);
$friquery=mysqli_query($sql, "SELECT `user` FROM `friends` WHERE `login` = '".$log."' AND `st`='1' ORDER by `id` DESC");
while($fri=mysqli_fetch_array($friquery)){
echo mysqli_error($sql);
for ($i = 0; $i < $total; $i++){
$data=explode("<||>",$of[$i]);
if($fri['user']==$data[0]){
if(file_exists(ROOT.'data/users/'.$fri['user'].'.dat')){
$uf=file_get_contents(ROOT.'data/users/'.$fri['user'].'.dat');
$uinfo=explode("[:]",$uf);
$av=$data[0].'.jpg';
if(file_exists(ROOT."albums/av/$av")){
$preav=ROOT."albums/pre/$av";
$ava=ROOT."albums/av/$av";}else{$ava=ROOT.'Nophoto.jpg';
$preav=$ava;}
if(($uinfo[3]!='') and ($uinfo[4]!='')){
$nick=$uinfo[3].' '.$uinfo[4];}else{$nick=$uinfo[0];}}else{$nick=$data[0];}
echo '<li><a href="'.ROOT.'pages/anketa?us='.$fri['user'].'"><img src='.$preav.'></a></li>';
}}}
?>