Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: nie działa order by
Forum PHP.pl > Forum > Bazy danych > MySQL
dado
witam.
mam takie zapytanie
  1. <?php
  2. $q=mysql_query(&#092;"SELECT * FROM bloki WHERE poz='\".$pozycja.\"' ORDER BY sort\");
  3. ?>


struktura tabeli:
Cytat
lp | poz | tytul | tresc | format | sort 


w tabeli przechowuje bloki html na stronę wyświetlać się powinny posortowane według ostaniego pola sort tak się jednak nie dzieje. Próbowałem dodawać dodatkowo ASC lub DESC ale bez skutku. Jełi ktoś widzi błąd będę wdzieczny za podpowiedź.
nospor
składniowo błedu nie widać. Ale co, pokazuje ci jakieś rekordy tylko nie posortowane? A te pole sort to jakeigo jest typu? Ma ono wogóle jakieś wartości?
dado
pokazuje ale posortowane według nie wiem nawet czego pole typu int zawiera liczby według kolejności których sortuję bloki html

tak wygląda funkcja listująca bloki
  1. <?php
  2. function blok($pozycja)
  3. { 
  4. global $conect;
  5.  
  6. $q=mysql_query(&#092;"SELECT * FROM bloki WHERE poz='\".$pozycja.\"' ORDER BY sort\");
  7.  
  8.     while($r=mysql_fetch_assoc($q)){
  9.     foreach($r as $key => $item) $r[$key] = filtr($item);
  10.     $bloczki.=userblok($r['tytul'],$r['tresc'],$r['format'],$pozycja);
  11.     }
  12.     
  13.     return $bloczki; 
  14. }
  15. ?>



a tak funckja która je wyswietla

  1. <?php
  2. function userblok($tytul,$tresc,$bb,$pozycja)
  3. {
  4. if($pozycja =='G' or $pozycja =='C'){$s_t = 'blok_g_tyt';$s_b = 'blok_g_body'; $mp=&#092;"\";}
  5. else{$s_t = 'blok_menu_tytul';$s_b = 'blok_menu_body';$mp=&#092;"menu_b\";}
  6.  
  7. if($bb=='bbcode')
  8. {
  9. $tresc=bbcode($tresc);
  10. $r.=&#092;"<table class='blok' width=\"100%\" border=\"0\" cellpadding=\"1\" cellspacing=\"1\">\";
  11. $r.=&#092;"<tr><td height=\"19\" class=\"blok_tytul\">\".$tytul.\"</td></tr>\";
  12. $r.=&#092;"<tr><td class=\"blok_body\">\".$tresc.\"</td></tr></table>\";
  13. }
  14. elseif($bb=='php')
  15. {
  16. $tresc=stripslashes($tresc);
  17. $r=eval($tresc);
  18. }
  19. elseif($bb=='html')
  20. {
  21. $r.=&#092;"<table class='blok' width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\";
  22. $r.=&#092;"<tr><td width='6' class=\".$mp.\">&nbsp;</td><td height=\"19\" class=\"\".$s_t.\"\">&nbsp;\".$tytul.\"</td><td width='19'>&nbsp;</td></tr>\";
  23. $r.=&#092;"<tr><td width='6' class=\".$mp.\">&nbsp;</td><td class=\"\".$s_b.\"\">\".$tresc.\"</td><td width='19'>&nbsp;</td></tr></table>\";
  24. }
  25. return $r;
  26. }
  27.  
  28. ?>



może tu gdziej coś namieszane
nospor
jakbyś mógł podać zapytaniue tworzące tą bazkę i zapytanie dla 10 rekordów to bym se utworzyl u siebie i potestowal. Bo ja nie widzę na chwilę obecną tu blędu i mnie intryguej co jest biggrin.gif

edit: a może on ci sortuje tylko ty potem to wyswietlasz w innej kolejności?
daj to zapytanie chociażby do phpMyadmina
dado
  1. CREATE TABLE bloki (
  2. lp int(11) NOT NULL AUTO_INCREMENT,
  3. poz varchar(5) NOT NULL DEFAULT '',
  4. tytul varchar(250) NOT NULL DEFAULT '',
  5. tresc text NOT NULL,
  6. format varchar(10) NOT NULL DEFAULT '',
  7. sort int(50) NOT NULL DEFAULT '0',
  8. PRIMARY KEY (lp)
  9. ) TYPE=MyISAM;
nospor
a może on ci sortuje tylko ty potem to wyswietlasz w innej kolejności?
daj to zapytanie chociażby do phpMyadmina

ps: a co z zapytaniami dla rekordów?
dado
wazne linki powinny byc wyzej niz ostanie albumy

  1. SELECT *
  2. FROM `bloki` LIMIT 0, 30
  3. SELECT *
  4. FROM bloki WHERE poz='".$pozycja."' ORDER BY sort


nie wiem czy o to ci chodzi


tu są rekordy które są w tabeli
  1. INSERT
  2. INTO bloki VALUES (9, 'L', 'Ostanie Galerie', 'include("ext/last_album.php");rnecho tbl("Ostanie Albumy",$last_album);', 'php', 2);
  3. INSERT
  4. INTO bloki VALUES (2, 'L', ' WAŻNE LINKI', ' - <a target='_blank' href='http://imgw.pl'>POGODA W TATRACH</a><BR>rn - <a target='_blank' href='http://tpn.pl'>PARK NARODOWY TPN</a><BR>rn - <a target='_blank' href='http://gopr.pl'>POGOTOWIE GOPR</a><BR>rn - <a target='_blank' href='http://www.pza.org.pl'>Polski Związek Alpinizmu</a><BR>rn - <a target="_blank" href="http://www.ppks.zakopane.pl/articles.php?id=10">PKS Zakopane</a></br>rn', 'html', 1);
  5. INSERT
  6. INTO bloki VALUES (8, 'C', 'test', 'etsestete', 'html', 1);
nospor
Wprowadzilem u siebie te rekordy. Zapytanie jest OK. Sortuje jak chcę. Koeljność zmieniam se poprzez ASC i DESC.

Walnij se te zapytanie w phpMyadmin lub w czymś innym jesli użuwasz czegoś innego i sam sprawdź. Najwyraźniej źle to wyświetlasz. PRzeanalizuj se jeszcze raz ten kod od wyświetlania.

pozdro
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.