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: 6 381 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%)
|
Jaki błąd wyskakuje?
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%)
|
|
|
|
|
Post
#4
|
|
|
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 |
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 21:24 |