Strict Standards: Non-static method Advanced_Permalinks::get() should not be called statically in /blog/wp-content/plugins/advanced-permalinks/advanced-permalinks.php on line 825

Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method GoogleSitemapGeneratorLoader::Enable() should not be called statically in /blog/wp-includes/plugin.php on line 123

Warning: call_user_func_array() expects parameter 2 to be array, null given in /blog/wp-includes/plugin.php on line 123
[MYSQL] Jak posortować tabelę wg losowej kolejności? » Porady MySQL » egrafik.pl
BAZA WIEDZY
KURSY
Bazy danych w PHP
Kurs AdvancedAJAX
Kurs ASP
Kurs ASP.NET
Kurs C++
Kurs CSS
Kurs HTML
Kurs HTML drugi
Kurs JavaScript
Kurs MySQL
Kurs PHP
Kurs RSS
Kurs XHTML
Obiekty DOM
MANUALE
CSS1 - W3C
DOM - w budowie
PHP 2005
PHP 2006
Wyrażenia regularne
SHOUTBOX
STAT
Online: 6 | UU: 483

Strict Standards: Resource ID#196 used as offset, casting to integer (196) in /forum2/db/mysql4.php on line 223

Strict Standards: Resource ID#196 used as offset, casting to integer (196) in /forum2/db/mysql4.php on line 224
[MYSQL] Jak posortować tabelę wg losowej kolejności?
Porady MySQL | 5 maj 2008 | Wizyt: 105768

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Strict Standards: Only variables should be assigned by reference in /blog/wp-includes/post.php on line 114

Deprecated: Function eregi() is deprecated in /blog/wp-content/plugins/tpbc.php on line 96

Wielokrotnie pracując na rozbudowanych bazach danych z dużą ilością informacji, zachodzi potrzeba wybierania z niej pewnych porcji informacji.

Dla przykładu załóżmy, że posiadamy tabelę ze zdjęciami, które wyświetlamy na stronie w porcjach po 20. Pierwsze 20 zdjęć znajduje się na pierwszej stronie, następne 20 na kolejnej itd. Obejrzenie zdjęcia o przykładowym 1000 numerze wymaga przedarcia się przez kolejne strony nawet jeśli zastosowany jest dobry system nawigacji.

Aby "dać szansę" zdjęciom zdnajdującym się w dalszej kolejności można zastosować losowe sortowanie. Wymaga to wprowadzenia dodatkowej kolumny wypełnianej co jakiś czas losowymi ciągami znaków. W ten sposób zastosowanie sortowania wg tej kolumny pozwoli na wyświetlenie zdjęć w losowej kolejności.

Przykład:

Kod: mysql

UPDATE przykladowa_tabela SET kolumna_z_losowymi_znakami=MD5(RAND())

 

SELECT * FROM przykladowa_tabela ORDER BY kolumna_z_losowymi_znakami ASC

W pierwszej sekcji aktualizujemy w tabeli "przykladowa_tabela" kolumnę "kolumna_z_losowymi_znakami", którą dodaliśmy specjalnie w tym celu, losowymi ciągami znaków.

W drugiej sekcji pobieramy zawartość tabeli zaznaczając, że chcemy ady wiersze  pokazywane były w kolejności narastającej ASC sortowanej wg kolumny "kolumna_z_losowymi_znakami".

Używając co pewien czas polecenia UPDATE z pierwszej sekcji naszego przykładu, możemy aktualizować zawartość dodatkowej kolumny losowymi wartościami dzięki czemu sortowanie wg tych wartości pozwoli na losowe pokazywanie wyników z innych kolumn, np. kolumn ze zdjęciami.

Autor: Adam Suchowski

nowe Porady MySQL » zobacz wszystkie
Dodaj komentarz









 
| | | |
Copyright © 2006-2013 egrafik.pl | Kontakt | Reklama | Projekty domów
jocker