Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 0 Dołączył: 16.11.2010 Ostrzeżenie: (0%)
|
Witam,
Używam do pobrania rekordów RAND (), jednak czasami wyskakuje błąd i skrypt musi pobrać dodatkowe 1 czy 2 rekordy. Jak mogę zrobić, żeby przy pobieraniu drugim nie były takie same rekordy jak przy pierwszym pobraniu ? Da się temu zaradzić ? Może jakiś inny sposób proponujecie ? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 341 Pomógł: 40 Dołączył: 23.06.2009 Ostrzeżenie: (0%)
|
NIGDY nie używajorder by rand()
zapomnij ze taka opcja istnieje! nie ma jej i już. jest kilka gorszych nawyków w mysql, ale naprawdę już nie wiele! jeśli musisz pobrać losowe wartości - to zastosuj inne rozwiązania. masz tabelę ze spójnymi indeksami? wygeneruj tablicę z losowymi wartościami, w odpowiednim zakresie i dodaj do zapytania
nie masz spójnej tablicy - albo nie znasz dokładnego zakresu? wygeneruj większą liczbę potencjalnych id w php, o większym zakresie i dodaj do poprzedniego
jest jeszcze kilka sposobów, i każdy chyba będzie lepszy od tego co chcesz zrobić.... no prawie każdy, wierzę że ktoś coś głupszego na bank wymyśli.... j. edit - kolorowanie.... Ten post edytował alegorn 29.08.2012, 15:11:23 |
|
|
|
Duo [MySQL] Order by RAND () 29.08.2012, 14:36:25
viking Jaki błąd wyskakuje? 29.08.2012, 14:37:48
b4rt3kk Zapisuj wylosowane wartości w tablicy i przy każdy... 29.08.2012, 14:45:00 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 20:46 |