Hi Leute,
ich bin gerade dabei ein kleines Script zu schreiben welche eine art Buddy Liste erzeugt. Dies wird in ein CMS eingebunden und von diesem gerendert.
Das Auslesen etc. klappt alles prima, nur steh ich gerade vor einem Logik Problem. Ich gebe derzeit einfach aus wer alles in der Liste ist und zwar unsortiert. Nun will ich das quasi nachträglich sortieren.. Online oben und Offline drunter.
bisher sieht das ganze so aus:
Jetzt ist die Frage wie ich das am besten abändere das ich nach der foreach schleife die Einträge nach Online und Offline sortieren kann...
ich bin gerade dabei ein kleines Script zu schreiben welche eine art Buddy Liste erzeugt. Dies wird in ein CMS eingebunden und von diesem gerendert.
Das Auslesen etc. klappt alles prima, nur steh ich gerade vor einem Logik Problem. Ich gebe derzeit einfach aus wer alles in der Liste ist und zwar unsortiert. Nun will ich das quasi nachträglich sortieren.. Online oben und Offline drunter.
bisher sieht das ganze so aus:
PHP-Code:
<?php
if(USER==TRUE){ // nur für Mitglieder
$text = "
<div class='button' style='width:100%'
onclick=\"expandit('div_buddy');updatecook('div_buddy');\">
Anzeigen / Ausblenden</div>"; // Anfang vom gerenderten Text
$text .= "<div id='div_buddy' style='display:none'>
<table style=\"width:100%; border: 0px solid black\">";
$tpbd_menu ="Buddy Liste"; // Menü Überschrift
$msicon ="<img src=\"bild.png\" alt=\"Nachricht schreiben\"/>"; // Bild
$sql_ids="SELECT user_friends FROM ".MPREFIX."alternate_profiles
WHERE user_id=".USERID.""; // Buddys auslesen
$data_ids=mysql_query($sql_ids);
$friends = mysql_fetch_array ($data_ids);
$string = $friends['user_friends'];
if(empty($string))
{ $text .= "<tr><td>
Du hast noch keine Freunde hinzugefügt.
<br />Lade doch welche ein!</td></tr>"; };
if(!empty($string)) {
$explode = explode("|", $string);
foreach($explode as $element_id) {
$sql_bd="SELECT user_id, user_name, user_image FROM
".MPREFIX."user WHERE user_id=".$element_id.""; // Buddy auslesen
$data_bd=mysql_query($sql_bd);
$buddys= mysql_fetch_array ($data_bd);
$bdsel = $buddys['user_id'].".".$buddys['user_name'];
$replace = "-upload-";
$phrase = "$INFO[board_url]/SweetNihon/e107_files/public/avatars/";
if (!empty($buddys['user_image'])) { $bdimg = str_replace($replace,
$phrase, $buddys['user_image']); }
else { $bdimg = "empty.png" ; };
$sql_bdo="SELECT online_user_id FROM ".MPREFIX."online WHERE
online_user_id='$bdsel'"; // prüfen ob User Online ist
$data_bdo=mysql_query($sql_bdo);
$bdo=mysql_fetch_array ($data_bdo);
$bdo_explode=explode(".",$bdo['online_user_id']);
if(!empty($bdo_explode['0']))
{ $status = "<img src=\"/online_small.png\" alt=\"online\"/>"; };
if(empty($bdo_explode['0']))
{ $status = "<img src=\"offline_small.png\" alt=\"offline\"/>"; };
if(empty($buddys['user_name'])) { $text .= ""; }
else { $text .= "<tr><td align=\"left\">";
$text .= "<a href=\"user.php?id.".$buddys['user_id']."\">";
$text .= "<img src=\"phpThumb.php?src=".$bdimg."&hp=25&wp=25\"/>";
$text .= $buddys['user_name']."</a></td>";
$text .= "<td align=\"right\">".$status."</td>";
$text .= "<td align=\"right\">
<a href=\"pm.php?send.".$buddys['user_id']."\">".$msicon."</td>";
$text .= "</tr>";
};
} ;
};
$text .= "</table></div>";
$ns->tablerender($tpbd_menu,$text);
} ?>
Jetzt ist die Frage wie ich das am besten abändere das ich nach der foreach schleife die Einträge nach Online und Offline sortieren kann...
Kommentar