Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zostosowanie funkcji array_reverse
Forum PHP.pl > Forum > PHP
M44ti
Witam próbuję zmodyfikować skrypt shoutboxu chatboxu czy inaczej jeszcze jak mozna to nazwać mój problem polega na tym że chcę pobrać z bazy mysql 8 najnowszych wyników i posegregować od najstarszych do najnowszych.

przykladowy wyglad tabeli:
Cytat
15:00 id 1
15:01 id 2
15:02 id 3
15:03 id 4
15:04 id 5
15:05 id 6
15:06 id 7
15:07 id 8
15:08 id 9
15:09 id 10
15:10 id 11


jak chce aby wyswietlilo wyniki:
Cytat
15:10 id 11
15:09 id 10
15:08 id 10
15:07 id 8
15:06 id 7
15:05 id 6
15:04 id 5
15:03 id 4


wiem ze muszę zastosować funkcję array_reverse ale pojecia nie mam jak mam to zrobić na tym konkretnym kodzie:

wycinek kodu:

  1. $numrows = dbcount('(shout_id)', DB_SHOUTBOX,(checkrights('S')?'':"shout_hidden='0'"));
  2. $result = dbquery(
  3. "SELECT ts.shout_id, ts.shout_name, ts.shout_message, ts.shout_datestamp,".(checkrights('S')?'ts.shout_ip,ts.shout_hidden,':'')." tu.user_id, tu.user_name,tu.user_avatar,tu.user_level,tu.user_lastvisit,tu.user_status FROM ".DB_SHOUTBOX." ts
  4. LEFT JOIN ".DB_USERS." tu ON ts.shout_name=tu.user_id
  5. ".(checkrights('S')?'':"WHERE shout_hidden='0'")."
  6. ORDER BY ts.shout_datestamp DESC LIMIT 0,".$shout_settings['visible_shouts']);
  7.  
  8.  
  9.  
  10.  
  11.  
  12. if (dbrows($result)) {
  13. $i = 0;
  14. while ($data = dbarray($result)) {
  15.  
  16.  
  17. echo "<div class='shoutboxname'>";
  18. if ($data['user_name']) {
  19. if($data['user_avatar']) { echo '<img style="float: left;" src="'.IMAGES.'avatars/'.$data['user_avatar'].'" width="32" hspace="4" vspace="1" />'; } //set ava
  20. echo ($data['user_level']>=102?'<img src="'.INFUSIONS.'shoutbox_panel/sh_adm.png" border="0" title="Admin" alt="[A]"/> ':'').
  21. '<span class="side">'.profile_link($data['shout_name'],$data['user_name'],$data['user_status']).'</span>';
  22.  
  23.  


cały kod http://pastebin.com/0HR3eB99
ADeM
A od czego masz ORDER BY w zapytaniu?
M44ti
Od tego by pobierał najnowsze 8 postów tylko popatrz teraz na przykład tabeli jaki zamiesciłem w pierwszym poscie....
Pobierze 8 najnowszych postów i uporządkuje je tak:


15:03 id 4
15:04 id 5
15:05 id 6
15:06 id 7
15:07 id 8
15:08 id 9
15:09 id 10
15:10 id 11

a ja chce tak:

15:10 id 11
15:09 id 10
15:08 id 10
15:07 id 8
15:06 id 7
15:05 id 6
15:04 id 5
15:03 id 4

dlatego trzeba uzyc tej funkcji bo trzeba pobrac 8 najnowszych postów i odwrócić ich kolejność wyswietlania....
grz3s
a wiesz że możesz tam 2 warunki walnąć?
M44ti
edit : jezeli chodzi o podzapytanie to spoko tylko mam z tym problem by utworzyc w tym podzapytanie:

  1. SELECT ts.shout_id, ts.shout_name, ts.shout_message, ts.shout_datestamp,".(checkrights('S')?'ts.shout_ip,ts.shout_hidden,':'')." tu.user_id, tu.user_name,tu.user_avatar,tu.user_level,tu.user_lastvisit,tu.user_status FROM ".DB_SHOUTBOX." ts
  2. LEFT JOIN ".DB_USERS." tu ON ts.shout_name=tu.user_id
  3. ".(checkrights('S')?'':"WHERE shout_hidden='0'")."
  4. ORDER BY ts.shout_datestamp DESC LIMIT 0,".$shout_settings['visible_shouts']);


poprostu nie potrafie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.