Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Sortowanie po kolorze
benzulli
post
Post #1





Grupa: Zarejestrowani
Postów: 112
Pomógł: 0
Dołączył: 3.07.2013

Ostrzeżenie: (0%)
-----


Witam

Mam pewien problem, mianowicie chciałbym posortować imiona osób, które są online, w tym celu używam takiej funkcji:

  1. $rows = mysql_query("SELECT * FROM people ORDER BY name ASC");
  2. while ($row = mysql_fetch_array($rows))
  3. {
  4. $name = $row['name'];
  5. if(preg_match("/$name/", $link)) {
  6. echo '<li><span style="color:green">'.$row['name'].'</span></li></br>';
  7. } else {
  8. echo '<li><span style="color:red">'.$row['name'].'</span></li></br>';
  9. }
  10. }


Mam listę 20 imion, która sortuje się alfabetycznie, tylko chciałbym, żeby rekordy o kolorze zielonym wyświetlały się pierwsze (osoby online), a następnie osoby o kolorze czerwonym (osoby offline). Stan osób online pobieram z cURLa, tak więc baza danych odpada.

Ten post edytował benzulli 14.08.2014, 14:47:54
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Michael2318
post
Post #2





Grupa: Zarejestrowani
Postów: 651
Pomógł: 116
Dołączył: 3.06.2012
Skąd: Lędziny

Ostrzeżenie: (0%)
-----


Zapisz sobie do tablicy te wszystkie rekordy:

  1. $arr_online = array();
  2. $arr_offline = array();
  3. while ($row = mysql_fetch_array($rows))
  4. {
  5. $name = $row['name'];
  6. if(preg_match("/$name/", $link)) {
  7. $arr_online[] = '<li><span style="color:green">'.$row['name'].'</span></li></br>';
  8. } else {
  9. $arr_offline[] = '<li><span style="color:red">'.$row['name'].'</span></li></br>';
  10. }
  11. }


I teraz wyświetl, najpierw tablicę z osobami online, potem z osobami offline:

  1. // wyświetlamy userów z tablicy ONLINE
  2. for($i=0; $i<=(count($arr_online)-1); $i++)
  3. {
  4. echo $arr_online[$i];
  5. }
  6.  
  7. // wyświetlamy userów z tablicy OFFLINE
  8. for($i=0; $i<=(count($arr_offline)-1); $i++)
  9. {
  10. echo $arr_offline[$i];
  11. }


Ten post edytował Michael2318 14.08.2014, 14:54:16
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 16:16